Community

Problem to get custom interceptor stack up and running.

created by Jonas Heineson in JBoss AOP - View the full discussion

Hello,

 

I have a problem getting an interceptor stack up and running on my JBoss (4.2.3.GA). The jboss starts fine, without any error messages, but when I connect a client to the server I get a NullPointerException suggesting that my Interceptor is not loaded (since it is the first one on the stack):

 

...

Caused by: java.lang.NullPointerException
    at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
    at org.jboss.ejb3.stateless.StatelessClusteredProxy.invoke(StatelessClusteredProxy.java:112)

...

The stack in question is a modified version of the default ClusteredStatelessSessionClientInterceptors stack defined in ejb3-interceptors-aop.xml:

 

jboss-aop.xml:

  <interceptor scope="PER_VM"/>

 

  <stack name="MtClusteredStatelessSessionClientInterceptors">
    <!--interceptor-ref name="org.jboss.ejb3.remoting.ClusteredIsLocalInterceptor"/-->   
    <interceptor-ref name="com.computas.mt.jboss.clustering.FixedServerInterceptor"/>
    <interceptor-ref name="org.jboss.aspects.security.SecurityClientInterceptor"/>
    <interceptor-ref name="org.jboss.aspects.tx.ClientTxPropagationInterceptor"/>
    <interceptor-ref name="org.jboss.aspects.remoting.ClusterChooserInterceptor"/>
    <interceptor-ref name="org.jboss.aspects.remoting.InvokeRemoteInterceptor"/>
  </stack>

 

Annotations of SLSB class:

@Stateless(name="EJBSingletonInvoker")
@Clustered(loadBalancePolicy = FixedServerBalancer.class)
@RemoteBinding(interceptorStack = "MtClusteredStatelessSessionClientInterceptors")
public class MtEJBSingletonInvokerBean { ...}

 

Interceptor:

public class FixedServerInterceptor extends ClusteredIsLocalInterceptor {
  @Override
  public Object invoke(Invocation invocation) throws Throwable {
    // doing some extra stuff
    return super.invoke(invocation);

}

 

The jboss-aop.xml and the custom interceptor are both located in a module called mt-aop-<version>.aop which is in turn placed in an .ear together with the other modules of the application.

 

Have also turned on instrumentation in the jboss-aop-jdk50.deployer/META-INF/jboss-service.xml

What am I missing / doing wrong here?

 

 

Regards

Jonas Heineson

Reply to this message by going to Community

Start a new discussion in JBoss AOP at Community