gpt4 book ai didi

java - CDI:来自同一 bean 的非拦截方法的拦截方法嵌套调用 - 应该调用吗?

转载 作者:行者123 更新时间:2023-11-30 09:46:47 24 4
gpt4 key购买 nike

如果我有方法

public List<IrcEvent> getEventsByCriteria(IrcEventCriteria crit, boolean descending) {
return getEventsByCriteria(crit, 0, Integer.MAX_VALUE, descending);
}

@JpaTransactional
public List<IrcEvent> getEventsByCriteria(IrcEventCriteria crit, int first, int count, boolean descending) {
...
}

那么第一个方法也必须注解@JpaTransactional 对吗?

我刚刚发现,当一个bean调用自己拦截的方法时,拦截器并没有被触发。我认为这是因为它不是被调用的代理,而是“真实实例”本身,因此它不通过代理。

这是否包含在规范/文档中?我还没找到。我问是因为我想确保如果我注释所有公共(public)方法,它们将不会在将来多次开始调用拦截器。

最佳答案

我不记得在规范中看到过它,但这就是代理的工作方式。但无论如何,这与事务传播有关——用现有正在运行的事务调用事务方法是否应该启动一个新事务。

获取Seam 3 persistence模块(支持交易)

关于java - CDI:来自同一 bean 的非拦截方法的拦截方法嵌套调用 - 应该调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6962570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com