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

Rikr2 do-not-reply at jboss.com
Wed Jan 10 16:08:42 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.<clinit>(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.<clinit>(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.<clinit>(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.<init>(Log4jProxy.java:94)
  |         at org.apache.commons.logging.impl.Log4JLogger.<init>(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.<clinit>(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.<init>(Log4jProxy.java:94)
  |         at org.apache.commons.logging.impl.Log4JLogger.<init>(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.<init>(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                               -->
  | <!--                                                                       -->
  | <!-- ===================================================================== -->
  | 
  | <server>
  | 
  |     <classpath codebase="./lib" archives="jboss-cache.jar, jgroups.jar"/>
  | 
  | 
  |     <!-- ==================================================================== -->
  |     <!-- Defines TreeCache configuration                                      -->
  |     <!-- ==================================================================== -->
  | 
  |     <mbean code="org.jboss.cache.TreeCache"
  |         name="jboss.cache:service=TreeCache">
  | 
  |         <depends>jboss:service=Naming</depends>
  |         <depends>jboss:service=TransactionManager</depends>
  | 
  |         <!--
  |           Configure the TransactionManager
  |       
  |       <attribute name="TransactionManagerLookupClass">org.jboss.cache.DummyTransactionManagerLookup</attribute>
  |       -->
  |       <attribute name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute>
  | 	
  |         <!--
  |             Isolation level : SERIALIZABLE
  |                               REPEATABLE_READ (default)
  |                               READ_COMMITTED
  |                               READ_UNCOMMITTED
  |                               NONE
  |         -->
  |         <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
  | 
  |         <!--
  |              Valid modes are LOCAL
  |                              REPL_ASYNC
  |                              REPL_SYNC
  |                              INVALIDATION_ASYNC
  |                              INVALIDATION_SYNC
  |         -->
  |         <attribute name="CacheMode">REPL_SYNC</attribute>
  | 
  |         <!--
  |         Just used for async repl: use a replication queue
  |         -->
  |         <attribute name="UseReplQueue">false</attribute>
  | 
  |         <!--
  |             Replication interval for replication queue (in ms)
  |         -->
  |         <attribute name="ReplQueueInterval">0</attribute>
  | 
  |         <!--
  |             Max number of elements which trigger replication
  |         -->
  |         <attribute name="ReplQueueMaxElements">0</attribute>
  | 
  |         <!-- Name of cluster. Needs to be the same for all clusters, in order
  |              to find each other
  |         -->
  |         <attribute name="ClusterName">TreeCache-Cluster</attribute>
  | 
  |         <!-- JGroups protocol stack properties. Can also be a URL,
  |              e.g. file:/home/bela/default.xml
  |            <attribute name="ClusterProperties"></attribute>
  |         -->
  | 
  |         <attribute name="ClusterConfig">
  |             <config>
  |                 <!-- 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"/>
  |             </config>
  |         </attribute>
  | 
  | 
  |         <!--
  |          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.
  |         -->
  |         <attribute name="FetchInMemoryState">true</attribute>
  | 
  |         <!--
  |             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
  |         -->
  |         <attribute name="InitialStateRetrievalTimeout">15000</attribute>
  | 
  |         <!--
  |             Number of milliseconds to wait until all responses for a
  |             synchronous call have been received.
  |         -->
  |         <attribute name="SyncReplTimeout">15000</attribute>
  | 
  |         <!-- Max number of milliseconds to wait for a lock acquisition -->
  |         <attribute name="LockAcquisitionTimeout">10000</attribute>
  | 
  |         <!-- Name of the eviction policy class. -->
  |         <attribute name="EvictionPolicyClass"></attribute>
  | 
  |        <!--
  |           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".
  |        -->
  |         <attribute name="UseRegionBasedMarshalling">true</attribute>
  |     </mbean>
  | 
  | 
  |    <!--  Uncomment to get a graphical view of the TreeCache MBean above -->
  |    <!--   <mbean code="org.jboss.cache.TreeCacheView" name="jboss.cache:service=TreeCacheView">-->
  |    <!--      <depends>jboss.cache:service=TreeCache</depends>-->
  |    <!--      <attribute name="CacheService">jboss.cache:service=TreeCache</attribute>-->
  |    <!--   </mbean>-->
  | 
  | 
  | </server>


Any idea about this?

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

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



More information about the jboss-user mailing list