4 Replies Latest reply on Nov 28, 2006 10:19 PM by Fábio Costa

    error when calling MethodInvocation

    Fábio Costa Newbie

      When the getInstance() method is called, occurs an error in the advice, but pointcut uses the clause "call". What it is made a mistake?

      
       <bind pointcut="call(* controllers.HealthWatcherFacade->getInstance())">
       <advice aspect="aspects.distribution.HealthWatcherClientSideAspect" name="aroundFacadeLocalCalls"/>
       </bind>
      
      


       public Object aroundFacadeLocalCalls(MethodInvocation invocation) {
       System.out.println("aroundFacadeLocalCalls");
      
       Object obj = null;
      /*
       Object[] args = invocation.getArguments();
       String methodName = invocation.getMethod().getName();
       obj = MethodExecution.invoke(this.getRemoteFacade(), methodName, args);*/
       return obj;
      
       }
      


      error:
      
      
      javax.servlet.ServletException: gui.servlets.ServletLogin_1_MByMInvocation
       gui.servlets.ServletLogin.init(ServletLogin.java:44)
       org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
       org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
       org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
       org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
       org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
       org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
       org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
       org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
       org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
       java.lang.Thread.run(Thread.java:595)
      


       public void init(ServletConfig config) throws ServletException {
      
       try {
      
       healthWatcher = HealthWatcherFacade.getInstance();
      
      
       } catch (Exception e) {
      
       throw new ServletException(e.getMessage());
      
       }
      
       }