我有一个servlet类,它在glassfish3和Java-7中运行得很好。
ear包含以下资源:
war文件中的Servlet如下所示:
@Path("/X")
@ManagedBean
public class XWebservice {
@EJB
SessionBeanRemoteInterface bean;
@GET
public String get() {
return bean.sessionBeanMethod();
}
}ejb-jar中的bean如下所示:
@Stateless
public class XBean implements SessionBeanRemoteInterface {
}为什么这在使用Java-8的玻璃鱼4.1.1中不再起作用?(NullPointerException,bean为null)
但是,手动查找很好:
new InitialContext().lookup(SessionBeanRemoteInterface.class.getName()).sessionBeanMethod();发布于 2016-03-01 11:50:17
我通过将@RequestScoped注释添加到Webservice来解决这个问题。
另外,@Singleton似乎也起作用了。
发布于 2016-03-12 23:57:31
您有多少个实现?如果超过一个,那么使用限定符(https://docs.oracle.com/javaee/6/tutorial/doc/gjbck.html)或替代(https://docs.oracle.com/javaee/6/tutorial/doc/gjsdf.html)。如果容器无法选择注入,则无法工作。
https://stackoverflow.com/questions/35704087
复制相似问题