实体中的CDI事件注入为空,为什么?

时间:2013-06-24 10:55:06

标签: events dependency-injection jboss7.x cdi seam3

我有一个实体: -

@Entity
@Table
public class Application{

@Inject
@QualifierName
private Event<Application> applicationXXX;

public void someMethod(){
 applicationXXX.fire(someObject);
}
//BODY
} 

在MyEventhandler类中,我正在使用:

public void onXXX(@Observes @QualifierName Object someObject){

}

Application类中的注入事件--- applicationXXX为空。

然而,如果我在其他一些班级做同样的注射 它不是空的而且有效。

任何人都可以帮助我并指出我在这里缺少的东西???

我不能在实体中注入CDI事件???还是有其他方法???

由于

1 个答案:

答案 0 :(得分:4)

JPA实体很特别,因为它们已经由JPA管理,你需要为他们提供生产者,即使那时我真的怀疑注射仍然有效。我建议不要在JPA实体中使用CDI概念。

对于这种情况,我会调用其他一些中间人来处理事件发生。