pojocache-aop.xml doesn't work in jboss AS 5.1
chengsuntx Jan 25, 2010 1:59 PMI 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?