3 Replies Latest reply on Jun 28, 2007 12:19 PM by Brian Stansberry

    jboss cache + glassfish - problem using GenericTransactionMa

    J S Newbie

      I'm using glassfish Application Server 9.0_01 (build b02-p01) and jboss cache 1.4.1.SP3 Cayenne, with OPTIMISTIC node locking scheme.

      Here is part of the configuration file:

      jboss:service=Naming
      jboss:service=TransactionManager
      org.jboss.cache.GenericTransactionManagerLookup
      OPTIMISTIC
      .....
      .....

      At startup no transaction manager is found and it falls back to the dummy transaction manager.
      Here's the log:
      2007-06-28 14:44:54,835 INFO [org.jboss.cache.GenericTransactionManagerLookup] (main) Failed to perform a lookup for [java:/TransactionManager (JBoss, JRun4)]
      2007-06-28 14:44:54,836 INFO [org.jboss.cache.GenericTransactionManagerLookup] (main) Failed to perform a lookup for [javax.transaction.TransactionManager (BEA WebLogic)]
      2007-06-28 14:44:54,839 INFO [org.jboss.cache.GenericTransactionManagerLookup] (main) Couldn't find any WebSphere TransactionManager factory class, neither for WebSphere version
      5.1 nor 5.0 nor 4
      2007-06-28 14:44:54,846 WARN [org.jboss.cache.GenericTransactionManagerLookup] (main) Falling back to DummyTransactionManager from JBossCache
      ....
      ....

      Can anyone help me setting up jboss cache to use glassfish's transaction manager?

      Thanks
      JS

        • 1. Re: jboss cache + glassfish - problem using GenericTransacti
          Brian Stansberry Master

          The 1.4.1.SP3 GenericTransactionManagerLookup doesn't know how to find Glassfish's TM. In 2.0 it does, but that doesn't help you.

          Suggest you write your own TransactionManagerLookup implementation and use that. It's really trivial:

          package com.foo.jbosscache;
          
          import javax.naming.InitialContext;
          import javax.transaction.TransactionManager;
          import org.jboss.cache.TransactionManagerLookup;
          
          public class GlassfishTransactionManagerLookup implements TransactionManagerLookup {
          
           public GlassfishTransactionManagerLookup() {
           }
          
           public TransactionManager getTransactionManager() throws Exception {
           return (TransactionManager)new InitialContext().lookup("java:appserver/TransactionManager");
           }
          
          }
          


          • 2. Re: jboss cache + glassfish - problem using GenericTransacti
            J S Newbie

            Thanks for your quick reply.

            Your suggestion has been implemented. It still doesn't work, but it might be a configuration problem.

            Here is the configuration before the implementation (when it falls back to dummy):

             <mbean code="org.jboss.cache.TreeCache"
             name="jboss.cache:service=TreeCache">
             <depends>jboss:service=Naming</depends>
             <depends>jboss:service=TransactionManager</depends>
             <attribute name="TransactionManagerLookupClass">org.jboss.cache.GenericTransactionManagerLookup</attribute>
             <attribute name="NodeLockingScheme">OPTIMISTIC</attribute>
             ....
             ....
            


            Here is the log at startup:
            2007-06-28 16:12:21,412 INFO [org.jboss.cache.PropertyConfigurator] (main) Found existing property editor for org.w3c.dom.Element: org.jboss.util.propertyeditor.ElementEditor@5e
            5edf72
            2007-06-28 16:12:21,418 INFO [org.jboss.cache.PropertyConfigurator] (main) attribute size: 21
            2007-06-28 16:12:21,466 INFO [org.jboss.cache.GenericTransactionManagerLookup] (main) Failed to perform a lookup for [java:/TransactionManager (JBoss, JRun4)]
            2007-06-28 16:12:21,466 INFO [org.jboss.cache.GenericTransactionManagerLookup] (main) Failed to perform a lookup for [javax.transaction.TransactionManager (BEA WebLogic)]
            2007-06-28 16:12:21,469 INFO [org.jboss.cache.GenericTransactionManagerLookup] (main) Couldn't find any WebSphere TransactionManager factory class, neither for WebSphere version
             5.1 nor 5.0 nor 4
            2007-06-28 16:12:21,476 WARN [org.jboss.cache.GenericTransactionManagerLookup] (main) Falling back to DummyTransactionManager from JBossCache
            2007-06-28 16:12:21,615 INFO [org.jboss.cache.factories.InterceptorChainFactory] (main) interceptor chain is:
            class org.jboss.cache.interceptors.CallInterceptor
            class org.jboss.cache.interceptors.OptimisticNodeInterceptor
            class org.jboss.cache.interceptors.EvictionInterceptor
            class org.jboss.cache.interceptors.OptimisticCreateIfNotExistsInterceptor
            class org.jboss.cache.interceptors.OptimisticValidatorInterceptor
            class org.jboss.cache.interceptors.OptimisticLockingInterceptor
            class org.jboss.cache.interceptors.CacheLoaderInterceptor
            class org.jboss.cache.interceptors.CacheStoreInterceptor
            class org.jboss.cache.interceptors.OptimisticReplicationInterceptor
            class org.jboss.cache.interceptors.TxInterceptor
            class org.jboss.cache.interceptors.CacheMgmtInterceptor
            2007-06-28 16:12:21,658 INFO [org.jgroups.JChannel] (main) JGroups version: 2.4.1
            2007-06-28 16:12:21,844 WARN [org.jgroups.protocols.UNICAST] (main) window_size is deprecated and will be ignored
            2007-06-28 16:12:21,844 WARN [org.jgroups.protocols.UNICAST] (main) min_threshold is deprecated and will be ignored
            2007-06-28 16:12:21,939 INFO [org.jboss.cache.loader.AsyncCacheLoader] (main) Async cache loader starting: org.jboss.cache.loader.AsyncExtendedCacheLoader@321893c7 delegate=[org
            .jboss.cache.loader.FileCacheLoader@6b8e0782] processor=null stopped=true batchSize=100 pollWait=100 returnOld=true asyncPut=true queue.capacity()=10000 queue.peek()=null
            2007-06-28 16:12:21,959 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) server socket created on 192.168.7.1:7800
            2007-06-28 16:12:22,003 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.2:7800
            2007-06-28 16:12:22,025 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.3:7800
            2007-06-28 16:12:22,030 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.4:7800
            2007-06-28 16:12:22,234 INFO [org.jboss.cache.TreeCache] (UpHandler (STATE_TRANSFER)) viewAccepted(): [192.168.7.2:7800|80] [192.168.7.2:7800, 192.168.7.3:7800, 192.168.7.4:7800
            , 192.168.7.1:7800]
            2007-06-28 16:12:22,244 INFO [org.jboss.cache.TreeCache] (main) TreeCache local address is 192.168.7.1:7800
            2007-06-28 16:12:22,364 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.1:7800
            


            After the implementation of the class "pt.iol.services.cache.GlassfishTransactionManagerLookup", here is the configuration part:
             <mbean code="org.jboss.cache.TreeCache"
             name="jboss.cache:service=TreeCache">
             <depends>jboss:service=Naming</depends>
             <depends>jboss:service=TransactionManager</depends>
             <attribute name="TransactionManagerLookupClass">pt.iol.services.cache.GlassfishTransactionManagerLookup</attribute>
             <attribute name="NodeLockingScheme">OPTIMISTIC</attribute>
             ....
             ....
            


            And here is the log (I cut parts of the long exceptions):

            2007-06-28 16:25:00,502 INFO [org.jboss.cache.PropertyConfigurator] (main) Found existing property editor for org.w3c.dom.Element: org.jboss.util.propertyeditor.ElementEditor@2d
            4c4066
            2007-06-28 16:25:00,507 INFO [org.jboss.cache.PropertyConfigurator] (main) attribute size: 21
            2007-06-28 16:25:00,698 INFO [org.jboss.cache.factories.InterceptorChainFactory] (main) interceptor chain is:
            class org.jboss.cache.interceptors.CallInterceptor
            class org.jboss.cache.interceptors.OptimisticNodeInterceptor
            class org.jboss.cache.interceptors.EvictionInterceptor
            class org.jboss.cache.interceptors.OptimisticCreateIfNotExistsInterceptor
            class org.jboss.cache.interceptors.OptimisticValidatorInterceptor
            class org.jboss.cache.interceptors.OptimisticLockingInterceptor
            class org.jboss.cache.interceptors.CacheLoaderInterceptor
            class org.jboss.cache.interceptors.CacheStoreInterceptor
            class org.jboss.cache.interceptors.OptimisticReplicationInterceptor
            class org.jboss.cache.interceptors.TxInterceptor
            class org.jboss.cache.interceptors.CacheMgmtInterceptor
            2007-06-28 16:25:00,743 INFO [org.jgroups.JChannel] (main) JGroups version: 2.4.1
            2007-06-28 16:25:00,929 WARN [org.jgroups.protocols.UNICAST] (main) window_size is deprecated and will be ignored
            2007-06-28 16:25:00,929 WARN [org.jgroups.protocols.UNICAST] (main) min_threshold is deprecated and will be ignored
            2007-06-28 16:25:01,029 INFO [org.jboss.cache.loader.AsyncCacheLoader] (main) Async cache loader starting: org.jboss.cache.loader.AsyncExtendedCacheLoader@58d63b5b delegate=[org
            .jboss.cache.loader.FileCacheLoader@58d300ed] processor=null stopped=true batchSize=100 pollWait=100 returnOld=true asyncPut=true queue.capacity()=10000 queue.peek()=null
            2007-06-28 16:25:01,045 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) server socket created on 192.168.7.1:7800
            2007-06-28 16:25:01,086 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.2:7800
            2007-06-28 16:25:01,087 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.3:7800
            2007-06-28 16:25:01,102 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.4:7800
            2007-06-28 16:25:01,221 INFO [org.jboss.cache.TreeCache] (UpHandler (STATE_TRANSFER)) viewAccepted(): [192.168.7.2:7800|82] [192.168.7.2:7800, 192.168.7.3:7800, 192.168.7.4:7800
            , 192.168.7.1:7800]
            2007-06-28 16:25:01,231 INFO [org.jboss.cache.TreeCache] (main) TreeCache local address is 192.168.7.1:7800
            2007-06-28 16:25:01,250 INFO [org.jboss.cache.TreeCache] (main) stopService(): closing the channel
            2007-06-28 16:25:01,270 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.1:7800
            2007-06-28 16:25:01,383 WARN [org.jboss.cache.TreeCache] (UpHandler (STATE_TRANSFER)) replication failure with method_call optimisticPrepare; id:18(GlobalTransaction:<192.168.7.
            4:7800>:577103, [_put; id:38(GlobalTransaction:<192.168.7.4:7800>:577103, /__CACHE_CONTENT__/projecto_151/seccao_464/template_299/local_7, d7627d2f3e2414a80e3ade0c5dfc02f5.xml, [
            B@6eb1a0f9, true, Ver=42)], null, 192.168.7.4:7800, false) exception
            java.lang.RuntimeException: java.lang.StackOverflowError
            at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5875)
            at org.jboss.cache.TreeCache._replicate(TreeCache.java:5162)
            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)
            ....
            ....
            2007-06-28 16:25:01,401 WARN [org.jgroups.blocks.ConnectionTable] (ConnectionTable.Connection.Sender [192.168.7.1:32908 - 192.168.7.2:7800]) sender thread was interrupted, but i
            s still alive: Thread[ConnectionTable.Connection.Sender [192.168.7.1:32908 - 192.168.7.2:7800],5,ConnectionTableGroup]
            2007-06-28 16:25:01,401 WARN [org.jgroups.blocks.ConnectionTable] (ConnectionTable.Connection.Sender [192.168.7.1:32908 - 192.168.7.2:7800]) peer closed connection, trying to re
            -send msg
            2007-06-28 16:25:01,401 ERROR [org.jgroups.blocks.ConnectionTable] (ConnectionTable.Connection.Sender [192.168.7.1:32908 - 192.168.7.2:7800]) 2nd attempt to send data failed too
            2007-06-28 16:25:01,403 WARN [org.jboss.cache.TreeCache] (UpHandler (STATE_TRANSFER)) replication failure with method_call commit; id:11(GlobalTransaction:<192.168.7.4:7800>:577
            103) exception
            java.lang.RuntimeException: java.lang.StackOverflowError
            at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5875)
            at org.jboss.cache.TreeCache._replicate(TreeCache.java:5162)
            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 org.jgroups.blocks.MethodCall.invoke(MethodCall.java:330)
            at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:281)
            at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:650)
            at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:535)
            at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:358)
            at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)
            at org.jgroups.JChannel.up(JChannel.java:1091)
            at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:377)
            at org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:393)
            at org.jgroups.stack.Protocol.passUp(Protocol.java:538)
            at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:158)
            at org.jgroups.stack.UpHandler.run(Protocol.java:60)
            Caused by: java.lang.StackOverflowError
            at java.lang.String.valueOf(String.java:2615)
            at java.lang.StringBuffer.append(StringBuffer.java:220)
            at org.jboss.cache.interceptors.OrderedSynchronizationHandler.toString(OrderedSynchronizationHandler.java:96)
            at java.lang.String.valueOf(String.java:2615)
            at java.util.AbstractCollection.toString(AbstractCollection.java:454)
            at java.util.Vector.toString(Vector.java:946)
            at java.lang.String.valueOf(String.java:2615)
            at java.lang.StringBuilder.append(StringBuilder.java:116)
            at com.sun.enterprise.distributedtx.J2EETransaction.toString(J2EETransaction.java:602)
            at java.lang.String.valueOf(String.java:2615)
            at java.lang.StringBuffer.append(StringBuffer.java:220)
            ....
            ....
            2007-06-28 16:25:01,419 WARN [org.jboss.cache.TreeCache] (UpHandler (STATE_TRANSFER)) replication failure with method_call optimisticPrepare; id:18(GlobalTransaction:<192.168.7.
            3:7800>:612115, [_put; id:38(GlobalTransaction:<192.168.7.3:7800>:612115, /__CACHE_CONTENT__/projecto_27/seccao_1551/template_459/local_2, 1ae76197670bb32ad118887c460bc166.xml, [
            B@6d3c121b, true, Ver=65)], null, 192.168.7.3:7800, false) exception
            java.lang.RuntimeException: java.lang.StackOverflowError
            at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5875)
            at org.jboss.cache.TreeCache._replicate(TreeCache.java:5162)
            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 org.jgroups.blocks.MethodCall.invoke(MethodCall.java:330)
            at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:281)
            at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:650)
            at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:535)
            at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:358)
            at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)
            at org.jgroups.JChannel.up(JChannel.java:1091)
            at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:377)
            at org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:393)
            at org.jgroups.stack.Protocol.passUp(Protocol.java:538)
            at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:158)
            at org.jgroups.stack.UpHandler.run(Protocol.java:60)
            Caused by: java.lang.StackOverflowError
            at java.util.AbstractCollection.toString(AbstractCollection.java:447)
            at java.util.Vector.toString(Vector.java:946)
            at java.lang.String.valueOf(String.java:2615)
            at java.lang.StringBuilder.append(StringBuilder.java:116)
            at com.sun.enterprise.distributedtx.J2EETransaction.toString(J2EETransaction.java:602)
            at java.lang.String.valueOf(String.java:2615)
            ....
            ....
            2007-06-28 16:25:01,439 WARN [org.jboss.cache.TreeCache] (UpHandler (STATE_TRANSFER)) replication failure with method_call commit; id:11(GlobalTransaction:<192.168.7.3:7800>:612
            115) exception
            java.lang.RuntimeException: java.lang.StackOverflowError
            at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:5875)
            at org.jboss.cache.TreeCache._replicate(TreeCache.java:5162)
            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 org.jgroups.blocks.MethodCall.invoke(MethodCall.java:330)
            at org.jgroups.blocks.RpcDispatcher.handle(RpcDispatcher.java:281)
            at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:650)
            at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:535)
            at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:358)
            at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:775)
            at org.jgroups.JChannel.up(JChannel.java:1091)
            at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:377)
            at org.jgroups.stack.ProtocolStack.receiveUpEvent(ProtocolStack.java:393)
            at org.jgroups.stack.Protocol.passUp(Protocol.java:538)
            at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:158)
            at org.jgroups.stack.UpHandler.run(Protocol.java:60)
            Caused by: java.lang.StackOverflowError
            at java.lang.String.valueOf(String.java:2615)
            at java.lang.StringBuffer.append(StringBuffer.java:220)
            at org.jboss.cache.interceptors.OrderedSynchronizationHandler.toString(OrderedSynchronizationHandler.java:96)
            at java.lang.String.valueOf(String.java:2615)
            at java.util.AbstractCollection.toString(AbstractCollection.java:454)
            at java.util.Vector.toString(Vector.java:946)
            at java.lang.String.valueOf(String.java:2615)
            ....
            ....
            2007-06-28 16:25:01,500 INFO [org.jgroups.blocks.ConnectionTable] (ConnectionTable.AcceptorThread) exception is java.net.SocketException: Socket closed
            2007-06-28 16:25:01,510 INFO [org.jboss.cache.TreeCache] (main) stopService(): stopping the dispatcher
            2007-06-28 16:25:01,514 INFO [org.jboss.cache.eviction.RegionManager] (main) Stopping eviction timer ...
            2007-06-28 16:25:01,519 WARN [org.jboss.cache.TreeCache] (main) Error in stop jboss.cache:service=Cluster-Teste
            javax.management.InstanceNotFoundException: MBean instance not found: jboss.system:service=ServiceController
            at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.manufactureAndRegisterMBean(SunoneInterceptor.java:675)
            at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.registerWithPersistenceCheck(SunoneInterceptor.java:697)
            at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:295)
            at org.jboss.system.ServiceMBeanSupport.stop(ServiceMBeanSupport.java:189)
            at pt.iol.services.cache.CacheContext.stopCache(Unknown Source)
            at pt.iol.services.webdav.davcache.CacheSystem.stop(Unknown Source)


            What I notice right away is the "stopService(): closing the channel" message right after the "TreeCache local address is 192.168.7.1:7800" message. This doesn't happen with the dummy transaction manager.

            Do I still have to have the following configuration tag:
             <depends>jboss:service=TransactionManager</depends>
            

            Or must this tag be according to the new implementation?

            If I take it out, I get the following log:
            2007-06-28 16:42:02,043 INFO [org.jboss.cache.PropertyConfigurator] (main) Found existing property editor for org.w3c.dom.Element: org.jboss.util.propertyeditor.ElementEditor@4dbb73b0
            2007-06-28 16:42:02,048 INFO [org.jboss.cache.PropertyConfigurator] (main) attribute size: 21
            2007-06-28 16:42:02,234 INFO [org.jboss.cache.factories.InterceptorChainFactory] (main) interceptor chain is:
            class org.jboss.cache.interceptors.CallInterceptor
            class org.jboss.cache.interceptors.OptimisticNodeInterceptor
            class org.jboss.cache.interceptors.EvictionInterceptor
            class org.jboss.cache.interceptors.OptimisticCreateIfNotExistsInterceptor
            class org.jboss.cache.interceptors.OptimisticValidatorInterceptor
            class org.jboss.cache.interceptors.OptimisticLockingInterceptor
            class org.jboss.cache.interceptors.CacheLoaderInterceptor
            class org.jboss.cache.interceptors.CacheStoreInterceptor
            class org.jboss.cache.interceptors.OptimisticReplicationInterceptor
            class org.jboss.cache.interceptors.TxInterceptor
            class org.jboss.cache.interceptors.CacheMgmtInterceptor
            2007-06-28 16:42:02,275 INFO [org.jgroups.JChannel] (main) JGroups version: 2.4.1
            2007-06-28 16:42:02,466 WARN [org.jgroups.protocols.UNICAST] (main) window_size is deprecated and will be ignored
            2007-06-28 16:42:02,466 WARN [org.jgroups.protocols.UNICAST] (main) min_threshold is deprecated and will be ignored
            2007-06-28 16:42:02,568 INFO [org.jboss.cache.loader.AsyncCacheLoader] (main) Async cache loader starting: org.jboss.cache.loader.AsyncExtendedCacheLoader@71fb2e0 delegate=[org.jboss.cache.loader.FileCacheLoader@321893c7] processor=null stopped=true batchSize=100 pollWait=100 returnOld=true asyncPut=true queue.capacity()=10000 queue.peek()=null
            2007-06-28 16:42:02,590 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) server socket created on 192.168.7.1:7800
            2007-06-28 16:42:02,629 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.2:7800
            2007-06-28 16:42:02,630 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.3:7800
            2007-06-28 16:42:02,644 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.4:7800
            2007-06-28 16:42:02,758 INFO [org.jboss.cache.TreeCache] (UpHandler (STATE_TRANSFER)) viewAccepted(): [192.168.7.2:7800|86] [192.168.7.2:7800, 192.168.7.3:7800, 192.168.7.4:7800, 192.168.7.1:7800]
            2007-06-28 16:42:02,773 INFO [org.jboss.cache.TreeCache] (main) TreeCache local address is 192.168.7.1:7800
            2007-06-28 16:42:02,796 INFO [org.jboss.cache.TreeCache] (main) stopService(): closing the channel
            2007-06-28 16:42:02,802 INFO [org.jgroups.blocks.ConnectionTable] (DownHandler (TCP)) created socket to 192.168.7.1:7800
            2007-06-28 16:42:02,865 WARN [org.jgroups.blocks.ConnectionTable] (ConnectionTable.Connection.Sender [192.168.7.1:47303 - 192.168.7.2:7800]) sender thread was interrupted, but is still alive: Thread[ConnectionTable.Connection.Sender [192.168.7.1:47303 - 192.168.7.2:7800],5,ConnectionTableGroup]
            2007-06-28 16:42:02,865 WARN [org.jgroups.blocks.ConnectionTable] (ConnectionTable.Connection.Sender [192.168.7.1:47303 - 192.168.7.2:7800]) peer closed connection, trying to re-send msg
            2007-06-28 16:42:02,865 ERROR [org.jgroups.blocks.ConnectionTable] (ConnectionTable.Connection.Sender [192.168.7.1:47303 - 192.168.7.2:7800]) 2nd attempt to send data failed too
            2007-06-28 16:42:02,883 INFO [org.jgroups.blocks.ConnectionTable] (ConnectionTable.AcceptorThread) exception is java.net.SocketException: Socket closed
            2007-06-28 16:42:02,896 INFO [org.jboss.cache.TreeCache] (main) stopService(): stopping the dispatcher
            2007-06-28 16:42:02,896 INFO [org.jboss.cache.eviction.RegionManager] (main) Stopping eviction timer ...
            2007-06-28 16:42:02,902 WARN [org.jboss.cache.TreeCache] (main) Error in stop jboss.cache:service=Cluster-Teste
            javax.management.InstanceNotFoundException: MBean instance not found: jboss.system:service=ServiceController
             at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.manufactureAndRegisterMBean(SunoneInterceptor.java:675)
             at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.registerWithPersistenceCheck(SunoneInterceptor.java:697)
             at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:295)
             at org.jboss.system.ServiceMBeanSupport.stop(ServiceMBeanSupport.java:189)
             at pt.iol.services.cache.CacheContext.stopCache(Unknown Source)
             at pt.iol.services.webdav.davcache.CacheSystem.stop(Unknown Source)
             at pt.iol.services.cache.CacheContextListener.contextDestroyed(Unknown Source)
             at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4277)
             at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4906)
             at org.apache.catalina.core.StandardContext.start(StandardContext.java:4787)
             at com.sun.enterprise.web.WebModule.start(WebModule.java:292)
             at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1095)
             at org.apache.catalina.core.StandardHost.start(StandardHost.java:924)
             at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1095)
             at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:520)
             at org.apache.catalina.startup.Embedded.start(Embedded.java:920)
             at com.sun.enterprise.web.WebContainer.start(WebContainer.java:794)
             at com.sun.enterprise.web.PEWebContainer.startInstance(PEWebContainer.java:722)
             at com.sun.enterprise.web.PEWebContainerLifecycle.onStartup(PEWebContainerLifecycle.java:72)
             at com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:326)
             at com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:112)
             at com.sun.enterprise.server.PEMain.run(PEMain.java:326)
             at com.sun.enterprise.server.PEMain.main(PEMain.java:260)
             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 com.sun.enterprise.server.PELaunch.main(PELaunch.java:272)
            


            Any ideias?

            Thanks
            JS

            • 3. Re: jboss cache + glassfish - problem using GenericTransacti
              Brian Stansberry Master

              Seems you've found a bug: http://jira.jboss.com/jira/browse/JBCACHE-1114. Unfortunately, there's no simple workaround.

              As for the javax.management.InstanceNotFoundException, there is a solution for that. From pt.iol.services.cache.CacheContext, don't call TreeCache.stop(). Call TreeCache.stopService(). Make equivalent changes for any call to create(), start() or destroy(). In JBC 1.x, create()/start()/stop()/destroy() only work properly when JBC is deployed inside JBoss AS, while createService()/startService()/stopService()/destroyService() will do what you want. See http://jira.jboss.com/jira/browse/JBCACHE-1001 and related forum thread for a discussion on why that is.