[jboss-user] [JBoss AOP] - Re: Interceptor is applied 16 times instead of 1

thomas.larsson@jayway.se do-not-reply at jboss.com
Mon Sep 17 04:56:53 EDT 2007


Here is a stack trace of an exception thrown in the first line of the tested beans business method. 
As you can see, there are 16 interceptor instances active.

  | Exception in thread "main" javax.ejb.EJBException: java.lang.NullPointerException; nested exception is: java.lang.NullPointerException
  | java.lang.NullPointerException
  | 	at com.dts.witnessservice.impl.NotaryBean.com$dts$witnessservice$impl$NotaryBean$validate$aop(NotaryBean.java:45)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.serviceplatform.interceptors.impl.DTSLoggingInterceptor.invoke(DTSLoggingInterceptor.java:29)
  | 	at com.dts.witnessservice.impl.NotaryBean$validate_7986114400778248611.invokeNext(NotaryBean$validate_7986114400778248611.java)
  | 	at com.dts.witnessservice.impl.NotaryBean.validate(NotaryBean.java)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 	at java.lang.reflect.Method.invoke(Method.java:585)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
  | 	at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
  | 	at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  | 	at org.jboss.aspects.tx.TxInterceptor$RequiresNew.invoke(TxInterceptor.java:262)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
  | 	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278)
  | 	at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
  | 	at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
  | 	at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734)
  | 	at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560)
  | 	at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369)
  | 	at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165)
  | 	at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)
  | 	at org.jboss.remoting.Client.invoke(Client.java:1550)
  | 	at org.jboss.remoting.Client.invoke(Client.java:530)
  | 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103)
  | 	at $Proxy1.validate(Unknown Source)
  | 	at com.dts.deployment.scenarios.ScenarioThomas.main(ScenarioThomas.java:62)
  | 	at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:74)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  | 	at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:103)
  | 	at $Proxy1.validate(Unknown Source)
  | 	at com.dts.deployment.scenarios.ScenarioThomas.main(ScenarioThomas.java:62)
  | 


-Thomas

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4084925#4084925

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4084925



More information about the jboss-user mailing list