【发布时间】:2019-02-04 00:51:16
【问题描述】:
我有一个创建 UserBean 的 CDI 生产者方法。生产者触发UserBeanEvent。其他 bean 依赖于该用户 bean,并且这些 bean 可以在观察者方法中使用。
CDI 再次尝试创建用户 bean,调用生产者,触发事件等等 - 无限循环。
在生产者完成并且 bean 完全添加到 bean 存储之后,有没有什么巧妙的方法来触发事件?我查看了来源,但找不到任何东西。
我在 WildFly 10.1 上使用 WELD 2.3.5.final
【问题讨论】:
-
您正在创建一个循环依赖,这通常是一种错误的模式。尝试再次考虑您的代码,可能还有其他方法可以解决这个问题,但很难说问题提供的信息很少。你能给我们一个更大的画面,说明为什么你需要在那个时候触发事件吗? bean 的创建是基于给定范围/上下文的激活,所以也许你想观察一下?