[jboss-user] [JBoss Cache Users] - java.lang.NoClassDefFoundError: org/jaxen/VariableContext ex

SeanCronin do-not-reply at jboss.com
Mon Nov 9 11:04:23 EST 2009


Hi, 

I am getting a java.lang.NoClassDefFoundError: org/jaxen/VariableContext exception when using JBoss Cache after a period of inactivity. I hope you can help me.

Regards,

Sean.


Here is the problem in detail:

The scenario is as follows:

1. - create cache

private MBeanServer server = MBeanServerLocator.locateJBoss();
       
private TreeCacheMBean cache = (TreeCacheMBean) MBeanProxyExt.create(TreeCacheMBean.class, "jboss.cache:service=TreeCache", server);

2. Load various data into the cache

3. Access Seam based web application that reads some of these data.

4. Leave webpage inactive, at 5 minute intervals the exception message at the end of this post is created.

- I'm aware that the root exception (Caused by: java.lang.NoClassDefFoundError: org/jaxen/VariableContext) may be a red herring/not really the problem judging by this issue report: 

https://jira.jboss.org/jira/browse/EJBTHREE-1297. 

Jaxen.jar is definately in my classpath.

- My environment is:
JBoss Cache 1.4.1
JBoss 4.3
Seam 2.1.2
Windows XP

- I have configured a cache loader to use a data source for a MYSQL database (MYSQL 5.0)

- I am not using a clustered environment at present, and have therefore set attribute name="cacheMode" to equal "LOCAL" in my JBoss cache configuration file (jboss-service.xml)

- The problem occurs whether or not I set passivation to false in my Jboss-service.xml

- Here is some debug information about my cache:


eviction policy class = null
eviction thread wakeup interval =  0
FetchInMemoryState = true
NumberOfAttributes = 37
NumberOfNodes = 14
isUsingEviction = false
isUsingMultiplexer = false


HERE IS MY JBOSS-SERVICE.XML 


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

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



    


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

    

        jboss:service=Naming
        jboss:service=TransactionManager
        jboss.jca:service=DataSourceBinding,name=SAPDatasource
       
       

        <!--
            Configure the TransactionManager
        -->
        org.jboss.cache.JBossTransactionManagerLookup


        <!--
            Node locking level : SERIALIZABLE
                                 REPEATABLE_READ (default)
                                 READ_COMMITTED
                                 READ_UNCOMMITTED
                                 NONE
        -->
        REPEATABLE_READ

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

        <!-- 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 -->
                <!-- 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.5" mcast_port="45577"
                    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"/>
                <VERIFY_SUSPECT timeout="1500"
                    up_thread="false" down_thread="false"/>
                <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
                    up_thread="false" down_thread="false"/>
                <pbcast.STABLE desired_avg_gossip="20000"
                    up_thread="false" down_thread="false"/>
                <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
                    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="false" down_thread="false"/>
            
        


        <!--
            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
        -->
      
        20000


        <!--
            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. Not supported now. -->
        
        
       
       
       		
       			false
       			<!-- not sure if this means everything or nothing is preloaded -->
       			/selectionCriteriaResults
       			
       			
       				org.jboss.cache.loader.JDBCCacheLoader
       	
       				<!-- same as the old CacheLoaderConfig attribute -->
       				
       					cache.jdbc.datasource=java:/SAPDatasource
       				
       	
       				<!-- whether the cache loader writes are asynchronous -->
       				false
       	
       				<!-- only one cache loader in the chain may set fetchPersistentState to true.
       				An exception is thrown if more than one cache loader sets this to true. -->
       				true
       	
       				<!-- determines whether this cache loader ignores writes - defaults to false. -->
       				false
       	
       				<!-- if set to true, purges the contents of this cache loader when the cache starts up.
       				Defaults to false. -->
       				true
       			
       		
       	
        
        
        
    





HERE IS THE EXCEPTION

2009-11-09 15:19:23,251 FATAL [org.jboss.serial.persister.RegularObjectPersister writeSlotWithMethod] error
java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor731.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
	at EDU.oswego.cs.dl.util.concurrent.CopyOnWriteArrayList.writeObject(CopyOnWriteArrayList.java:772)
	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.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
	at EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.writeObject(ConcurrentReaderHashMap.java:1230)
	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.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
	at EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.writeObject(ConcurrentReaderHashMap.java:1230)
	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.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
	at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
	at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
	at org.jboss.serial.io.MarshalledObject.(MarshalledObject.java:51)
	at org.jboss.ejb3.stateful.StatefulBeanContext.writeExternal(StatefulBeanContext.java:855)
	at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:298)
	at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.passivateSession(StatefulSessionFilePersistenceManager.java:390)
	at org.jboss.ejb3.cache.simple.SimpleStatefulCache.passivate(SimpleStatefulCache.java:301)
	at org.jboss.ejb3.cache.simple.SimpleStatefulCache$SessionTimeoutTask.run(SimpleStatefulCache.java:209)
Caused by: java.lang.NoClassDefFoundError: org/jaxen/VariableContext
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
	at java.lang.Class.getDeclaredMethod(Class.java:1907)
	at org.jboss.serial.classmetamodel.ClassMetaData.lookupMethodOnHierarchy(ClassMetaData.java:102)
	at org.jboss.serial.classmetamodel.ClassMetaData.lookupInternalMethods(ClassMetaData.java:432)
	at org.jboss.serial.classmetamodel.ClassMetaData.(ClassMetaData.java:122)
	at org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:350)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:168)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
	at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
	at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
	at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
	at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
	at org.jboss.serial.persister.ObjectOutputStreamProxy.writeFields(ObjectOutputStreamProxy.java:79)
	at org.jboss.serial.persister.ObjectOutputStreamProxy.defaultWriteObject(ObjectOutputStreamProxy.java:68)
	at java.util.Vector.writeObject(Vector.java:1018)
	... 120 more


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

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



More information about the jboss-user mailing list