[jboss-user] [JBossCache] - Error getting an instance of PoJoCache , when redeploy my ap

Rikr2 do-not-reply at jboss.com
Wed Jan 10 15:58:34 EST 2007


I have a servlet and  in this servlet i have a private PojoCache like this:

private PojoCache cache = null;

//Servlet init
public void init() throws ServletException {
		super.init();
		// Get an instance of PojoCache
		try {
			 cache = createCache("Test-Cluster");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
}


// Create PojoCache method
private PojoCache createCache(String name) throws Exception {
	      PojoCache tree = new PojoCache();
	      PropertyConfigurator config = new PropertyConfigurator();   
	       // read in the replSync xml. Here we use synchronous mode replication.
	      config.configure(tree, "META-INF/replSync-service.xml");
	      tree.setClusterName(name); // We can set a different cluster group.
	      tree.start(); // kick start the cache
	      return tree;
}

when i put console in console something like this: ant deploy
and later run my servlet the cache work fine but if put in console ant undeploy deploy without restarting JBoos a get this error:

GMS: address is newton:1047
-------------------------------------------------------
14:47:52,722 INFO  [WebappClassLoader] Illegal access: this web application instance has been stopped already.  Could not load commons-logging.properties.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
14:47:52,722 INFO  [WebappClassLoader] Illegal access: this web application instance has been stopped already.  Could not load META-INF/services/org.apache.commons.logging.LogFactory.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
14:47:52,723 INFO  [WebappClassLoader] Illegal access: this web application instance has been stopped already.  Could not load org.apache.log4j.Logger.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1241)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
        at org.apache.commons.logging.impl.LogFactoryImpl$1.run(LogFactoryImpl.java:441)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.commons.logging.impl.LogFactoryImpl.loadClass(LogFactoryImpl.java:435)
        at org.apache.commons.logging.impl.LogFactoryImpl.isLog4JAvailable(LogFactoryImpl.java:505)
        at org.apache.commons.logging.impl.LogFactoryImpl.getLogClassName(LogFactoryImpl.java:327)
        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:368)
        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:353)
        at org.jgroups.stack.AckReceiverWindow.(AckReceiverWindow.java:26)
        at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:354)
        at org.jgroups.protocols.UNICAST.up(UNICAST.java:168)
        at org.jgroups.stack.UpHandler.run(Protocol.java:59)
14:47:52,724 INFO  [WebappClassLoader] Illegal access: this web application instance has been stopped already.  Could not load org.apache.commons.logging.impl.Log4JLogger.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1241)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
        at org.apache.commons.logging.impl.LogFactoryImpl$1.run(LogFactoryImpl.java:441)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.commons.logging.impl.LogFactoryImpl.loadClass(LogFactoryImpl.java:435)
        at org.apache.commons.logging.impl.LogFactoryImpl.isLog4JAvailable(LogFactoryImpl.java:506)
        at org.apache.commons.logging.impl.LogFactoryImpl.getLogClassName(LogFactoryImpl.java:327)
        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:368)
        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:353)
        at org.jgroups.stack.AckReceiverWindow.(AckReceiverWindow.java:26)
        at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:354)
        at org.jgroups.protocols.UNICAST.up(UNICAST.java:168)
        at org.jgroups.stack.UpHandler.run(Protocol.java:59)
14:47:52,726 INFO  [WebappClassLoader] Illegal access: this web application instance has been stopped already.  Could not load org.apache.commons.logging.impl.Log4JLogger.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1241)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
        at org.apache.commons.logging.impl.LogFactoryImpl$1.run(LogFactoryImpl.java:441)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.commons.logging.impl.LogFactoryImpl.loadClass(LogFactoryImpl.java:435)
        at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:376)
        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:353)
        at org.jgroups.stack.AckReceiverWindow.(AckReceiverWindow.java:26)
        at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:354)
        at org.jgroups.protocols.UNICAST.up(UNICAST.java:168)
        at org.jgroups.stack.UpHandler.run(Protocol.java:59)
14:47:52,726 INFO  [WebappClassLoader] Illegal access: this web application instance has been stopped already.  Could not load org.apache.log4j.Level.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1241)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
        at org.apache.commons.logging.impl.Log4jProxy$1.run(Log4jProxy.java:66)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.commons.logging.impl.Log4jProxy.threadContextClassLoader(Log4jProxy.java:88)
        at org.apache.commons.logging.impl.Log4jProxy.(Log4jProxy.java:94)
        at org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:39)
        at sun.reflect.GeneratedConstructorAccessor23.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:353)
        at org.jgroups.stack.AckReceiverWindow.(AckReceiverWindow.java:26)
        at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:354)
        at org.jgroups.protocols.UNICAST.up(UNICAST.java:168)
        at org.jgroups.stack.UpHandler.run(Protocol.java:59)
14:47:52,818 INFO  [TreeCache] viewAccepted(): [newton:1044|1] [newton:1044, newton:1047]
14:47:52,832 INFO  [TreeCache] TreeCache local address is newton:1047
14:47:52,833 INFO  [TreeCache] viewAccepted(): [newton:1044|1] [newton:1044, newton:1047]
14:47:52,837 INFO  [TreeCache] locking the subtree at / to transfer state
14:47:52,845 INFO  [WebappClassLoader] Illegal access: this web application instance has been stopped already.  Could not load org.apache.log4j.Level.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1241)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201)
        at org.apache.commons.logging.impl.Log4jProxy$1.run(Log4jProxy.java:66)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.apache.commons.logging.impl.Log4jProxy.threadContextClassLoader(Log4jProxy.java:88)
        at org.apache.commons.logging.impl.Log4jProxy.(Log4jProxy.java:94)
        at org.apache.commons.logging.impl.Log4JLogger.(Log4JLogger.java:39)
        at sun.reflect.GeneratedConstructorAccessor23.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
        at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
        at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:372)
        at org.jboss.cache.statetransfer.StateTransferGenerator_140.(StateTransferGenerator_140.java:35)
        at org.jboss.cache.statetransfer.StateTransferFactory.getStateTransferGenerator(StateTransferFactory.java:49)
        at org.jboss.cache.TreeCache._getState(TreeCache.java:2519)
        at org.jboss.cache.TreeCache._getState(TreeCache.java:2445)
        at org.jboss.cache.TreeCache$MessageListenerAdaptor.getState(TreeCache.java:5283)
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.passUp(MessageDispatcher.java:602)
        at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:331)
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUp(MessageDispatcher.java:722)
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.access$300(MessageDispatcher.java:554)
        at org.jgroups.blocks.MessageDispatcher$1.run(MessageDispatcher.java:691)
        at java.lang.Thread.run(Thread.java:595)
14:47:52,853 INFO  [StateTransferGenerator_140] returning the state for tree rooted in /(1024 bytes)
14:47:52,908 INFO  [TreeCache] received the state (size=1024 bytes)
14:47:52,927 INFO  [TreeCache] state was retrieved successfully (in 95 milliseconds)
14:47:52,950 INFO  [TreeCache] parseConfig(): PojoCacheConfig is empty


This is my xml cache configuration

<?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================== -->
<!--                                                                       -->
<!--  Sample TreeCache Service Configuration                               -->
<!--                                                                       -->
<!-- ===================================================================== -->



    


    <!-- ==================================================================== -->
    <!-- Defines TreeCache configuration                                      -->
    <!-- ==================================================================== -->

    

        jboss:service=Naming
        jboss:service=TransactionManager

        <!--
          Configure the TransactionManager
      
      org.jboss.cache.DummyTransactionManagerLookup
      -->
      org.jboss.cache.JBossTransactionManagerLookup
	
        <!--
            Isolation level : SERIALIZABLE
                              REPEATABLE_READ (default)
                              READ_COMMITTED
                              READ_UNCOMMITTED
                              NONE
        -->
        REPEATABLE_READ

        <!--
             Valid modes are LOCAL
                             REPL_ASYNC
                             REPL_SYNC
                             INVALIDATION_ASYNC
                             INVALIDATION_SYNC
        -->
        REPL_SYNC

        <!--
        Just used for async repl: use a replication queue
        -->
        false

        <!--
            Replication interval for replication queue (in ms)
        -->
        0

        <!--
            Max number of elements which trigger replication
        -->
        0

        <!-- Name of cluster. Needs to be the same for all clusters, in order
             to find each other
        -->
        TreeCache-Cluster

        <!-- JGroups protocol stack properties. Can also be a URL,
             e.g. file:/home/bela/default.xml
           
        -->

        
            
                <!-- UDP: if you have a multihomed machine,
                set the bind_addr attribute to the appropriate NIC IP address, e.g bind_addr="192.168.0.2"
                -->
                <!-- UDP: On Windows machines, because of the media sense feature
                 being broken with multicast (even after disabling media sense)
                 set the loopback attribute to true -->
                <UDP mcast_addr="228.1.2.3" mcast_port="48866"
                    ip_ttl="64" ip_mcast="true" 
                    mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
                    ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
                    loopback="false"/>
                <PING timeout="2000" num_initial_members="3"
                    up_thread="false" down_thread="false"/>
                <MERGE2 min_interval="10000" max_interval="20000"/>
                <!--        <FD shun="true" up_thread="true" down_thread="true" />-->
                <FD_SOCK/>
                <VERIFY_SUSPECT timeout="1500"
                    up_thread="false" down_thread="false"/>
                <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                    max_xmit_size="8192" up_thread="false" down_thread="false"/>
                <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
                    down_thread="false"/>
                <pbcast.STABLE desired_avg_gossip="20000"
                    up_thread="false" down_thread="false"/>
                <FRAG frag_size="8192"
                    down_thread="false" up_thread="false"/>
                <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
                    shun="true" print_local_addr="true"/>
                <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
            
        


        <!--
         Whether or not to fetch state on joining a cluster
         NOTE this used to be called FetchStateOnStartup and has been renamed to be more descriptive.
        -->
        true

        <!--
            The max amount of time (in milliseconds) we wait until the
            initial state (ie. the contents of the cache) are retrieved from
            existing members in a clustered environment
        -->
        15000

        <!--
            Number of milliseconds to wait until all responses for a
            synchronous call have been received.
        -->
        15000

        <!-- Max number of milliseconds to wait for a lock acquisition -->
        10000

        <!-- Name of the eviction policy class. -->
        

       <!--
          Indicate whether to use region based marshalling or not. Set this to true if you are running under a scoped
          class loader, e.g., inside an application server. Default is "false".
       -->
        true
    


   <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
   <!--   -->
   <!--      jboss.cache:service=TreeCache-->
   <!--      jboss.cache:service=TreeCache-->
   <!--   -->





Any idea about this?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4000143#4000143

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4000143



More information about the jboss-user mailing list