我'在将StoreBean注入Restful服务时遇到问题。我有一点点的 reduecd 代码来得到一个点。
这是代码(DataStoreBean):
@Local(DataStore.class)
@Stateless
public class DataStoreBean implements DataStore
{
public String get()
{
return "works";
}
}
以下是 RestEndpoint 的代码:
@RequestScoped
@Path("/DataStore")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class DataStoreRestEndpoint
{
@EJB
DataStoreBean dataStore;
@GET
@Path("/test")
public String get()
{
return dataStore.get();
}
}
当我执行时,我总是得到一个NPE。
Caused by: java.lang.NullPointerException
at org.it.datastore.DataStoreRestEndpoint.get(DataStoreRestEndpoint.java:112) [classes:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_25]
at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_25]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155) [resteasy-jaxrs-2.3.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) [resteasy-jaxrs-2.3.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) [resteasy-jaxrs-2.3.1.GA.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) [resteasy-jaxrs-2.3.1.GA.jar:]
at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) [resteasy-jaxrs-2.3.1.GA.jar:]
... 19 more
我正在使用 JBoss 7.1 和 EJB3
也用 @Stateless 声明 restful 类。下面是一个示例:将 EJB 注入 JAX-RS(RESTful 服务)