我有一個使用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