pee*_*z80 3 java ejb java-ee cdi
我在部署两个无状态会话bean时遇到了部署错误,每个会话bean都依赖于另一个并使用@Inject.
@Stateless
class BeanA {
@Inject
BeanB b;
public void doSomething() {
b.doSomething();
}
}
@Stateless
class BeanB {
@Inject
BeanA a;
public void doSomeOtherThing() {
a.doSomeOtherThing();
}
}
Run Code Online (Sandbox Code Playgroud)
在部署时,我从Glassfish/weld获得此异常:
org.jboss.weld.exceptions.DeploymentException:WELD-001443伪范围bean具有循环依赖关系.
用@EJB而不是@Inject注入Beans,一切正常.现在我有两个问题.
首先 - 焊接内部会发生什么,这是不允许的?
第二个(可能更重要) - 这是建筑方面的不良做法,如果是,你知道任何避免它的模式吗?根据我目前的知识,允许同一层上的业务驱动服务以他们需要的任何方式相互通信.
| 归档时间: |
|
| 查看次数: |
1393 次 |
| 最近记录: |