【发布时间】:2014-12-07 00:58:36
【问题描述】:
我无法在 Resteasy 中注入 cdi bean。在调试时,它似乎总是显示空指针异常。即以下代码中的“jaxRsImpl”始终为空。我正在尝试在 jboss eap 6.2 上运行
@Path("/jaxrs-service")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public class JAXRSService {
@Inject
private JAXRSImpl jaxRsImpl;
@POST
@Path("/authenticate")
@Consumes(MediaType.APPLICATION_JSON)
public Response authenticate(Credentials user) {
return jaxRsImpl.authenticate(user);
}
}
我打算注入的类是
@RequestScoped
public class JAXRSImpl {
public Response authenticate(Credentials user) {
// Some logic
}
}
由于我的应用程序是 web,所以我在 WEB-INF 文件夹中添加了 beans.xml
我的初始化器看起来像
@ApplicationPath("/rest")
public class JAXRSInitializer extends Application {
private Set<Object> singletons = new HashSet<Object>();
private Set<Class<?>> classes = new HashSet<Class<?>>();
public JAXRSInitializer() {
singletons.add(new JAXRSService());
classes.add(JAXRSImpl.class);
}
@Override
public Set<Class<?>> getClasses() {
return classes;
}
@Override
public Set<Object> getSingletons() {
return singletons;
}
}
【问题讨论】:
标签: java jax-rs jboss7.x cdi resteasy