[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ews.eclipse.technology.aspectj] Getting VerifyError with around advice on static method

I am trying to place around advice on a static method:

public class Transactions {
public static UserTransaction getUserTransaction() throws NamingException
{
return (UserTransaction) NamingHelper.getInitialContext().lookup(USER_TRANSACTION_NAME);
}
...
}


With:

public aspect SeamTransactionsSpringAdapterAspect {
private UserTransaction userTransaction;
public void setUserTransaction(UserTransaction userTransaction) {
this.userTransaction = userTransaction;
}


pointcut getUserTransaction() : execution(static UserTransaction Transactions.getUserTransaction());
UserTransaction around(): getUserTransaction() {
System.err.println("***** SeamTransactionSpringAdapterAspect.getUserTransaction *****");
return userTransaction;
}
}



And am getting:

info weaving 'org/jboss/seam/util/Transactions'
weaveinfo Join point 'method-execution(javax.transaction.UserTransaction org.jboss.seam.util.Transactions.getUserTransaction())' in Type 'org.jboss.seam.util.Transactions' (Transactions.java:32) advised by around advice from 'org.opentrader.infra.seam.SeamTransactionsSpringAdapterAspect' (SeamTransactionsSpringAdapterAspect.aj:21)
info generating class 'org.jboss.seam.util.Transactions$AjcClosure1'
18:51:28,828 ERROR-org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/fn-foliofn-ui].[Faces Servlet] - Servlet.service() for servlet Faces Servlet threw exception [][http-8080-Processor24][org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/fn-foliofn-ui].[Faces Servlet]]
java.lang.VerifyError: (class: org/opentrader/infra/seam/SeamTransactionsSpringAdapterAspect, method: <clinit> signature: ()V) Stack size too large
at org.jboss.seam.util.Transactions.getUserTransaction(Transactions.java:1)
at org.jboss.seam.util.Transactions.isTransactionActive(Transactions.java:21)
at org.jboss.seam.jsf.SeamExtendedManagedPersistencePhaseListener.begin(SeamExtendedManagedPersistencePhaseListener.java:58)
at org.jboss.seam.jsf.SeamExtendedManagedPersistencePhaseListener.beforePhase(SeamExtendedManagedPersistencePhaseListener.java:33)
at org.apache.myfaces.lifecycle.LifecycleImpl.informPhaseListenersBefore(LifecycleImpl.java:520)
at org.apache.myfaces.lifecycle.LifecycleImpl.restoreView(LifecycleImpl.java:105)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:66)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)