1 Reply Latest reply on May 15, 2010 8:40 AM by ajuba

    pojocache-aop.xml doesn't work in jboss AS 5.1

      I am trying to follow the tutorial of jboss-cache-pojo-tutorial to make PojoCache working in Jboss AS 5.1. I copied replSync-service.xml to C:\jboss-5.1.0.GA\server\all\deploy\cluster\jboss-cache-manager.sar\META-INF. Then copied pojocache-aop.xml to C:\jboss-5.1.0.GA\server\all\deploy, and added a VM argument  -Djboss.aop.path="C:\jboss-5.1.0.GA\server\all\deploy\pojocache-aop.xml". Jboss started successfully on all mode, the pojoCache can be started, but when calling cache.attach, it throws exception complaining Person object hasn't been instrumented even though Person class is annoted as Replicable. Here is the stacktrace:

       

      13:54:38,209 INFO [PojoCacheImpl] PojoCache version: JBossCache 'Cascabel' 3.1.0.GA

      13:54:46,738 ERROR [STDERR]

      org.jboss.cache.pojo.PojoCacheException: attach failed /pojo/joe

      13:54:46,748 ERROR [STDERR] at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(

      PojoCacheImpl.java:111)

      13:54:46,748 ERROR [STDERR] at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(

      PojoCacheImpl.java:93)

      13:54:46,748 ERROR [STDERR] at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(

      PojoCacheImpl.java:88)

      13:54:46,758 ERROR [STDERR] at library.servlets.CreateUser.init(

      CreateUser.java:72)

      13:54:46,758 ERROR [STDERR] at org.apache.catalina.core.StandardWrapper.loadServlet(

      StandardWrapper.java:1048)

      13:54:46,758 ERROR [STDERR] at org.apache.catalina.core.StandardWrapper.allocate(

      StandardWrapper.java:777)

      13:54:46,758 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(

      StandardWrapperValve.java:129)

      13:54:46,759 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(

      StandardContextValve.java:191)

      13:54:46,759 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(

      SecurityAssociationValve.java:190)

      13:54:46,759 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(

      JaccContextValve.java:92)

      13:54:46,759 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(

      SecurityContextEstablishmentValve.java:126)

      13:54:46,759 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(

      SecurityContextEstablishmentValve.java:70)

      13:54:46,759 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(

      StandardHostValve.java:127)

      13:54:46,759 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(

      ErrorReportValve.java:102)

      13:54:46,759 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(

      CachedConnectionValve.java:158)

      13:54:46,759 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(

      StandardEngineValve.java:109)

      13:54:46,760 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(

      CoyoteAdapter.java:330)

      13:54:46,761 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(

      Http11Processor.java:829)

      13:54:46,762 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(

      Http11Protocol.java:598)

      13:54:46,763 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(

      JIoEndpoint.java:447)

      13:54:46,764 ERROR [STDERR] at java.lang.Thread.run(Unknown Source)

      13:54:46,765 ERROR [STDERR] Caused by:

      org.jboss.cache.CacheException: Can not manage object. It must be either instrumented, a collection, an array, or Serializable: library.servlets.Person

      13:54:46,766 ERROR [STDERR] at org.jboss.cache.pojo.impl.PojoCacheDelegate.getHandler(

      PojoCacheDelegate.java:168)

      13:54:46,767 ERROR [STDERR] at org.jboss.cache.pojo.impl.PojoCacheDelegate.putObject(

      PojoCacheDelegate.java:122)

      13:54:46,768 ERROR [STDERR] at org.jboss.cache.pojo.impl.PojoCacheImpl.attach(

      PojoCacheImpl.java:102)

      13:54:46,769 ERROR [STDERR] ... 20 more

       

      Looks like jboss couldn't instrument the object using pojocache-aop.xml. Any ideas?

        • 1. Re: pojocache-aop.xml doesn't work in jboss AS 5.1
          ajuba

          Try this:

           

          use  server/all   with the following

           

          1:- Edit the  C:\jboss-5.1.0.GA\server\all\conf\bootstrap\aop.xml  in LINE no-72:  <property name="enableLoadtimeWeaving">true</property>

          2:-   CopyC:\jboss-5.1.0.GA\server\all\deployers\jboss-aop-jboss5.deployer\pluggable-instrumentor.jar   to C:\jboss-5.1.0.GA\bin

          3:-  EditC:\jboss-5.1.0.GA\bin\run.conf.bat file:LINE N0=-50 type : set   “JAVA_OPTS=%JAVA_OPTS% -javaagent:pluggable-instrumentor.jar”
          4:-  Copy pojocache-aop.xml to C:\jboss-5.1.0.GA\server\all\deploy

           

          That's all

           

           

          Cheers!

          Ajuba