我有一个使用RestEasy实现的jax-rs服务,我使用的是Jboss as7,并使用@Signleton注解实现了signleton ejb。 signleton在服务器启动时启动(@startup),我想将它注入到jax-rs使用@EJB。问题是这个类总是空的,我开始迷路了,因为在我看过的每个教程中,这都是他们注入ejb的方式。 我应该使用任何特殊的xml文件吗?我究竟做错了什么?RestEasy @EJB返回null
@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;}
}
尽管这不是一个创建服务的好方法,但它并没有被禁止,实际上也是有效的。这不是我的问题服务正在工作ejb引用为null – maxsap 2012-04-27 06:42:11
至少这是'org.jboss.spec.archetypes:jboss-javaee6-ear-webapp-archetype'原型中提出的方法。那么你的问题位于其他地方,注释'@ Singleton','@ Startup'和'@EJB'我的引用不是'null'。 – Thor 2012-04-27 07:13:10
当在调试ejb开始时,我认为这必须做一些包装或resteasy无法找到正确的上下文。 – maxsap 2012-04-27 12:02:17