jakarta-ee - RestEasy @EJB 返回 null

标签 jakarta-ee resteasy jboss7.x ejb-3.1

我有一个用 RestEasy 实现的 jax-rs 服务,我正在使用 Jboss as7 并用 @Signleton 注释实现了一个signleton ejb。当服务器启动(@startup)时会启动signleton,我想将它注入(inject)到使用@EJB的jax-rs中。问题是这个类总是空的,我开始迷路了,因为在我看过的每个教程中,这就是他们注入(inject) ejb 的方式。
我应该使用任何特殊的 xml 文件吗?我究竟做错了什么?

@Path("/")
public class Service extends Application{
@EJB
private GlobalStore store;
public Service(){
fromejbstore = store.getSentiment();//null pointer is thrown
}
}

Signleton ejb 是:
@Singleton
@Startup
public class GlobalStore {
 Sentiment sentiment;
 @PostConstruct
public void initialize() {
 //do something
}
public Sentiment getSentiment(){return sentiment;}
}

最佳答案

我已将代码更改为如下所示并避免注入(inject):

    `try{
        InitialContext ctx=new InitialContext();
        localRef = (myEjb) ctx.lookup("java:global/appName/EjbName");
       }catch(NamingException ne){
            System.out.println("\n[MyRestService]NamingException: "+ne);
            ne.printStackTrace();
       }`

找不到@EJB 注释不起作用的原因,可能这与RestEasy 有关。

关于jakarta-ee - RestEasy @EJB 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10331041/

相关文章:

java - 返回动态语言用户的基本 Java 库和实用程序是什么?

java - REST添加子资源

java - 升级到 RestEasy 4.5.x 后出现 StackOverflowError

java - mod_cluster 发现后不平衡负载

jboss7.x - 如何排除在 JBoss 7 中添加的所有自动依赖项?

java - 使用基于表单的安全性时如何实现注销

java - 如何查看tomcat支持的http方法

file-upload - 如何防止 HTTP Rest Jboss resteasy Fileupload 因 'Could not find message body reader' 错误而失败?

oracle - 带有 Oracle 的 Jboss XA 数据源无法打开连接

java - 大型企业 Java 应用程序 - 模块化