EJB注入有关问题
EJB注入问题
刚学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。(难道不一样?
)
另外ejb之间相互注入也能成功。
我不是很理解这为什么不能注入成功。
可以啊,发个压缩包上来吧,computer20031638@126.com.
谢谢了哈.
刚学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。(难道不一样?
另外ejb之间相互注入也能成功。
我不是很理解这为什么不能注入成功。
1 楼
zhouxingfu520
2011-12-24
要不我把我的测试代码例子发给你 使用的是jboss服务器
2 楼
shellwell
2012-01-13
zhouxingfu520 写道
要不我把我的测试代码例子发给你 使用的是jboss服务器
可以啊,发个压缩包上来吧,computer20031638@126.com.
谢谢了哈.