java - RESTful 服务中的注释(@EJB、@Resource...)

标签 java rest jakarta-ee ejb-3.0

我正在尝试通过注释在我的 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/

相关文章:

multithreading - @Stateless 或 @Singleton 而不是静态助手类?

java - 如何根据Key从PairRDD中获取新的RDD

java - 类似于 Spring 的 Jersey 的 @ModelAttribute

rest - Tomcat v7.0 服务器不读取 context.xml

web-services - REST 服务 - 用于唯一检查的 URI 形成

jakarta-ee - 为什么 EJB 3.0 session bean 需要单独的远程和本地接口(interface)

密码的 Java 正则表达式

Java 8 流从 List 中的 Map 读取值

java - XMLOutputStream、修复命名空间和没有命名空间的属性

java - 使用 application.properties 在 Spring Boot 中外部化 logback.xml 的位置