1
我有这样EJB调用哪个以后调用另一个EJB的方法 - >返回null
@Stateless
public class CoreMainEJB implements CoreMainEJBRemote, CoreMainEJBLocal {
@Override
public void process(String configFileName) throws Exception {
...
PackageProcessor p = new PackageProcessor();
p.processPackage(Object something);
}
}
然后这样的结构,PackageProcesor.java
- >未注释@Stateless
public class PackageProcessor(){
@EJB
private GenericEJB genericEJB;
public void processPackage(Object something){
genericEJB.create(something);
}
...
}
的GenericEJB
返回的注射空值。这里是GenericEJB的内容
@Stateless
@LocalBean
public class GenericEJB{
@PersistenceContext(unitName = "someWebPUnit")
private EntityManager em;
public void create(Object t){
em.persist(t);
}
}
任何想法为什么GenericEJB
注入返回null?
拥有多个EJB是不是一个好主意?因为如果我按你说的做了,我可能会以5-6 EJB结束。表现方面不好吗?比较把这些方法放在同一个EJB中?我想我要问的是EJB注入对性能有什么影响?做5-6 EJB会让项目变得更加沉重吗? –
:-)。我可以想象有几百甚至几千个EJB的项目......依赖注入只影响初始化时间,当bean第一次创建时。他们通常在之后汇集。此外,不用担心性能,当几行后您将访问数据库或JMS队列... –
非常感谢。 + 1 –