I think it is a similar problem, so not exactly the same. I have a couple of pojo's inserted in Lists, these lists are added to the cache. One of these pojo's have a state implemented using the GoF state pattern, hence as pojo's theirselves. Now when I change the state into a different state using state = bindingFileState; I get the following stack: java.lang.RuntimeException: PojoCache.putObject(): fqn: /product/java/jboss/AMF/BindingManager/BindingFiles/0/state | at org.jboss.cache.aop.PojoCache.putObject(PojoCache.java:478) | at org.jboss.cache.aop.CacheInterceptor.invoke(CacheInterceptor.java:115) | at org.jboss.aop.joinpoint.FieldWriteInvocation.invokeNext(FieldWriteInvocation.java:51) | at org.epo.product.jboss.nodeagent.bindingmanager.BindingFile.state_w_$aop(BindingFile.java) | at org.epo.product.jboss.nodeagent.bindingmanager.BindingFile.setState(BindingFile.java:42) | at org.epo.product.jboss.nodeagent.bindingmanager.ApplicationPackage.releaseBindingfile(ApplicationPackage.java:143) | at org.epo.product.jboss.nodeagent.bindingmanager.BindingManager.releaseBindingFile(BindingManager.java:296) | at org.epo.product.jboss.nodeagent.bindingmanager.BindingManagerTest.testReleaseBindingFile(BindingManagerTest.java:239) | 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 junit.framework.TestCase.runTest(TestCase.java:154) | at junit.framework.TestCase.runBare(TestCase.java:127) | at junit.framework.TestResult$1.protect(TestResult.java:106) | at junit.framework.TestResult.runProtected(TestResult.java:124) | at junit.framework.TestResult.run(TestResult.java:109) | at junit.framework.TestCase.run(TestCase.java:118) | at junit.framework.TestSuite.runTest(TestSuite.java:208) | at junit.framework.TestSuite.run(TestSuite.java:203) | at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478) | at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344) | at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) | Caused by: java.lang.IllegalStateException: AOPInstance.incrementRefCount(): source fqn: /product/java/jboss/AMF/BindingManager/BindingFiles/0/state/appPackage is already present. | at org.jboss.cache.aop.AOPInstance.incrementRefCount(AOPInstance.java:92) | at org.jboss.cache.aop.InternalDelegate.incrementRefCount(InternalDelegate.java:98) | at org.jboss.cache.aop.ObjectGraphHandler.incrementRefCount(ObjectGraphHandler.java:212) | at org.jboss.cache.aop.ObjectGraphHandler.setupRefCounting(ObjectGraphHandler.java:192) | at org.jboss.cache.aop.ObjectGraphHandler.objectGraphPut(ObjectGraphHandler.java:88) | at org.jboss.cache.aop.TreeCacheAopDelegate._putObject(TreeCacheAopDelegate.java:197) | at org.jboss.cache.aop.TreeCacheAopDelegate._regularPutObject(TreeCacheAopDelegate.java:462) | at org.jboss.cache.aop.TreeCacheAopDelegate._putObject(TreeCacheAopDelegate.java:202) | at org.jboss.cache.aop.PojoCache._putObject(PojoCache.java:731) | at org.jboss.cache.aop.PojoCache.putObject(PojoCache.java:462) | ... 22 more | |
I have changed my code to | if (!state.equals(bindingFileState)) { | state = bindingFileState; | } else { | System.out.println("It's equal"); | } | Which circumvents the problem, but I expected that an assignment, whether or not with the same object would not case this stack trace. Kind regards, Marcel Dullaart View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3959548#3959548 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3959548 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user