刚学EJB,对于JNDI、annotations、依赖注入问题还是没完全纠结清楚。
服务器是weblogic。
当我发布一个ejb包到服务器上,然后在另一个web项目中一个普通类调用时出现了注入失败,空指针。
比如发布的ejbBean:
@Stateless(name = "TestBean")
public class TestBean implements TestInf{....}
//web.xml配置引用
<ejb-local-ref>
<ejb-ref-name>ejb/TestBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>包名.TestInf</local>
<ejb-link>TestBean</ejb-link>
</ejb-local-ref>
//业务类
public class Test{
@EJB(name="ejb/TestBean")
private TestInf testInf
}
项目发布到WebLogic中使用Test中的testInf的方法就会出现空指针,应该就是没注入成功吧。
但是我不知道为什么不能注入成功。(不是在ejb容器中使用的嘛)
当我使用上下文的lookUp("Java:comp/env/jeb/TestBean")能成功得到ejb。(难道不一样? :cry: )
另外ejb之间相互注入也能成功。
我不是很理解这为什么不能注入成功。
服务器是weblogic。
当我发布一个ejb包到服务器上,然后在另一个web项目中一个普通类调用时出现了注入失败,空指针。
比如发布的ejbBean:
@Stateless(name = "TestBean")
public class TestBean implements TestInf{....}
//web.xml配置引用
<ejb-local-ref>
<ejb-ref-name>ejb/TestBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<local>包名.TestInf</local>
<ejb-link>TestBean</ejb-link>
</ejb-local-ref>
//业务类
public class Test{
@EJB(name="ejb/TestBean")
private TestInf testInf
}
项目发布到WebLogic中使用Test中的testInf的方法就会出现空指针,应该就是没注入成功吧。
但是我不知道为什么不能注入成功。(不是在ejb容器中使用的嘛)
当我使用上下文的lookUp("Java:comp/env/jeb/TestBean")能成功得到ejb。(难道不一样? :cry: )
另外ejb之间相互注入也能成功。
我不是很理解这为什么不能注入成功。