Jakarta ee @将接口注入到拦截器时注入null
我创建了一个界面:Jakarta ee @将接口注入到拦截器时注入null,jakarta-ee,cdi,interceptor,weld,Jakarta Ee,Cdi,Interceptor,Weld,我创建了一个界面: interface A { Long getA(); } @Dependent class B implements A { @Resource(lookup="java:comp/EJBContext") SessionContext sessionContext; public Long getA(){ //impl } } 现在,当我将其注入拦截器时,它会抛出NPE,因为注入不起作用: public clas
interface A {
Long getA();
}
@Dependent
class B implements A {
@Resource(lookup="java:comp/EJBContext")
SessionContext sessionContext;
public Long getA(){
//impl
}
}
现在,当我将其注入拦截器时,它会抛出NPE,因为注入不起作用:
public class InterceptorTest {
@Inject A a;
@AroundInvoke
public Object injectTenantId(InvocationContext ctx) throws Exception {
a.getA();
ctx.proceed();
}
}
上面的代码抛出NPE是因为
A
为null
您试图在哪个容器中运行InterceptorTest
?(EJB、Web/Servlet等)拦截器是如何调用的?在拦截器类中,您似乎缺少了一个@SomeAnnotation@Interceptor
。我使用的是Jboss 7.1.1(JAVA EE 6),请注意,在Jboss wildfly 8.2.2中,同样的事情也适用于您试图在哪个容器中运行InterceptorTest
?(EJB、Web/Servlet等)拦截器是如何调用的?似乎在拦截器类中缺少了一个@SomeAnnotation@Interceptor
。我使用的是Jboss 7.1.1(JAVA EE 6),请注意,Jboss wildfly 8.2.2中也有同样的功能