0 Replies Latest reply on Jan 10, 2007 3:58 PM by Ricardo Felipe

    Error getting an instance of PoJoCache , when redeploy my ap

    Ricardo Felipe Newbie

      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?