2016-02-29 92 views
0

我有一個servlet類,在glassfish3和Java-7上運行良好。Servlet中使用glassfish4注入EJB

耳包含這些資源:

  • x.ear
    • x.war
    • X-interface.jar
    • X-ejb.jar

戰爭文件裏面的Servlet外觀像這樣:

@Path("/X") 
@ManagedBean 
public class XWebservice { 

    @EJB 
    SessionBeanRemoteInterface bean; 

    @GET 
    public String get() { 
     return bean.sessionBeanMethod(); 
    } 
} 

的EJB-JAR內的豆看起來是這樣的:

@Stateless 
public class XBean implements SessionBeanRemoteInterface { 
} 

爲什麼這不是在GlassFish中4.1.1使用Java-8的工作了嗎? (NullPointerException異常,豆爲null)

手冊查找,但工作得很好:

new InitialContext().lookup(SessionBeanRemoteInterface.class.getName()).sessionBeanMethod(); 
+0

您可以添加來自GlassFish的實際錯誤消息嗎? – Mike

+0

@Mike它是一個NullPointerException這裏:'bean.sessionBeanMethod()'。如果我輸出'bean'的值,那麼輸出是'null'。 – slartidan

+0

您是否嘗試過使用'@EJB(lookup =「...」)? – aribeiro

回答

0

我通過添加@RequestScoped標註的web服務解決了問題。

或者@Singleton似乎也工作。