我正在尝试通过注释在我的 RESTful 服务 (RESTEasy) 中注入(inject) EJB。
public class MyServelet implements MyServeletInterface {
...
@EJB
MyBean mybean;
...
}
不幸的是,没有编译或 AS 错误,变量“mybean”只是 null,当我尝试使用它时,我收到 NullPointerException。
我做错了什么?
以下是有关我的架构的一些辅助信息:
- JBoss 4.2.2.GA
- Java 版本:1.5.0_17
- 本地 MDB 项目
- 远程 EJB 项目
- 带有 RESTful 服务的 WAR 项目,该服务使用远程 EJB 并将消息发送到本地 MDB 项目
提前致谢!
br 多米尼克
p.s:当我使用正常的上下文查找时,一切工作正常。
最佳答案
我遇到了类似的问题(尽管没有@Remote beans)。它对我有用的方式 - 示例应用程序在这里:https://github.com/kubamarchwicki/rest-app/ (这有效:https://github.com/kubamarchwicki/rest-app/blob/master/service-webapp/src/main/webapp/WEB-INF/web.xml#L9)
上下文查找的漏洞是名称随着耳朵名称的变化而变化。如果您喜欢版本之类的东西,它会使整个事情难以追踪,或者迫使您在代码中的某个位置硬编码耳朵名称。
只需几美分即可进行旧讨论;-)
关于java - RESTful 服务中的注释(@EJB、@Resource...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2478590/