I'm trying to cache several nodes within a transaction in a replicated cache environment. I'm using the latest JBossCache HEAD code along with a fairly recent build of JBossAS HEAD. The transaction is being executed from a servlet running on one of the cluster nodes.
If I use a non-replicated environment (e.g., INVALIDATION_SYNC), the transaction executes properly and commits or rolls back as expected. If I use a replicated environment (e.g., REPL_SYNC), the transaction executes properly as long as I configure the cache to use the DummyTransactionManager and I use this manager to execute the transaction from the servlet. If I get a transaction manager from JNDI (either java:TransactionManager or UserTransaction) and I configure my cache to use JBossTransactionManagerLookup, the transaction always fails during the prepare phase on the remote node. As noted, the same code works properly if the cache isn't replicated. I've attached the relevant stack trace. I've looked for a JBossCache test that executes similarly (i.e., transaction in a replicated environment) but I've only been able to find one that executes in standalone mode using the dummy manager. Any ideas on whether I'm missing something here? ERROR [RpcDispatcher] failed invoking method org.jboss.util.NestedRuntimeException: Already associated with a tx; - nested throwable: (java.lang.IllegalStateException: Already associated with a tx) at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:4247) at org.jboss.cache.TreeCache._replicate(TreeCache.java:3894) 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:324) at org.jgroups.blocks.MethodCall.invoke(MethodCall.java:286) at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:236) at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:618) at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:515) at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:326) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(MessageDispatcher.java:734) at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(MessageDispatcher.java:566) at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:703) at java.lang.Thread.run(Thread.java:534) Caused by: java.lang.IllegalStateException: Already associated with a tx at org.jboss.tm.TxManager.resume(TxManager.java:660) at org.jboss.cache.interceptors.TxInterceptor.handleRemotePrepare(TxInterceptor.java:263) at org.jboss.cache.interceptors.TxInterceptor.invoke(TxInterceptor.java:124) at org.jboss.cache.interceptors.Interceptor.invoke(Interceptor.java:67) at org.jboss.cache.interceptors.CacheMgmtInterceptor.invoke(CacheMgmtInterceptor.java:128) at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:4241) View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3920113#3920113 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3920113 ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user