[jboss-user] [JBoss Cache: Core Edition] - java.io.NotSerializableException: java.util.concurrent.Futu
guazi
do-not-reply at jboss.com
Tue Oct 14 04:50:29 EDT 2008
I used jbossCache in "cluster" mode, Tomcat as the servers. when I start up one server and do nothing before other one start up, it works well. but I did someting before other one start up, an exception occured. like this:
| Caused by:
| org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.topsoft.common.cacheadapt.CacheAdapterJbossImpl]: Constructor threw exception; nested exception is java.lang.ExceptionInInitializerError
| Caused by:
| java.lang.ExceptionInInitializerError
| at com.topsoft.common.cacheadapt.CacheAdapterJbossImpl.<init>(CacheAdapterJbossImpl.java:13)
| at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
| at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
| at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
| at java.lang.reflect.Constructor.newInstance(Unknown Source)
| at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:85)
| at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:61)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:752)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:717)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:386)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:876)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:876)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:876)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824)
| at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
| at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
| at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
| at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
| at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
| at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
| at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:245)
| at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:188)
| at com.topsoft.common.SpringContextLoaderListener.contextInitialized(SpringContextLoaderListener.java:25)
| at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3692)
| at org.apache.catalina.core.StandardContext.start(StandardContext.java:4127)
| at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
| at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
| at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
| at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
| at org.apache.catalina.startup.Embedded.start(Embedded.java:821)
| at com.topnet.util.web.EmbeddedTomcat.startup(EmbeddedTomcat.java:75)
| at com.topnet.util.web.EmbeddedTomcat.main(EmbeddedTomcat.java:87)
| Caused by: org.jboss.cache.CacheException: Unable to invoke method public void org.jboss.cache.RPCManagerImpl.start() on object instance org.jboss.cache.RPCManagerImpl at 5866c1
| at org.jboss.cache.util.reflect.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:127)
| at org.jboss.cache.factories.ComponentRegistry$PrioritizedMethod.invoke(ComponentRegistry.java:932)
| at org.jboss.cache.factories.ComponentRegistry.internalStart(ComponentRegistry.java:718)
| at org.jboss.cache.factories.ComponentRegistry.start(ComponentRegistry.java:582)
| at org.jboss.cache.invocation.CacheInvocationDelegate.start(CacheInvocationDelegate.java:279)
| at com.topsoft.common.cache.TopCacheImpl.<clinit>(TopCacheImpl.java:29)
| ... 49 more
| Caused by: java.lang.reflect.InvocationTargetException
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.cache.util.reflect.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:123)
| ... 54 more
| Caused by: org.jboss.cache.CacheException: Unable to fetch state on startup
| at org.jboss.cache.RPCManagerImpl.start(RPCManagerImpl.java:167)
| ... 59 more
| Caused by: org.jboss.cache.CacheException: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.util.concurrent.FutureTask
| at org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.integrateTransientState(DefaultStateTransferIntegrator.java:95)
| at org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.integrateState(DefaultStateTransferIntegrator.java:66)
| at org.jboss.cache.statetransfer.StateTransferManager.setState(StateTransferManager.java:233)
| at org.jboss.cache.statetransfer.StateTransferManager.setState(StateTransferManager.java:181)
| at org.jboss.cache.remoting.jgroups.ChannelMessageListener.setState(ChannelMessageListener.java:165)
| at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUpEvent(MessageDispatcher.java:647)
| at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:747)
| at org.jgroups.JChannel.up(JChannel.java:1069)
| at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:402)
| at org.jgroups.protocols.pbcast.STATE_TRANSFER.handleStateRsp(STATE_TRANSFER.java:421)
| at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:120)
| at org.jgroups.protocols.pbcast.GMS.up(GMS.java:780)
| at org.jgroups.protocols.FRAG2.unfragment(FRAG2.java:290)
| at org.jgroups.protocols.FRAG2.up(FRAG2.java:190)
| at org.jgroups.protocols.FC.up(FC.java:408)
| at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:234)
| at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:595)
| at org.jgroups.protocols.UNICAST.up(UNICAST.java:265)
| at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:729)
| at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:167)
| at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:300)
| at org.jgroups.protocols.FD.up(FD.java:285)
| at org.jgroups.protocols.MERGE2.up(MERGE2.java:145)
| at org.jgroups.protocols.Discovery.up(Discovery.java:245)
| at org.jgroups.protocols.TP.passMessageUp(TP.java:1126)
| at org.jgroups.protocols.TP.access$100(TP.java:48)
| at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1637)
| at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1616)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
| at java.lang.Thread.run(Unknown Source)
| Caused by: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.util.concurrent.FutureTask
| at java.io.ObjectInputStream.readObject0(Unknown Source)
| at java.io.ObjectInputStream.readObject(Unknown Source)
| at java.util.concurrent.ConcurrentHashMap.readObject(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
| at java.io.ObjectInputStream.readSerialData(Unknown Source)
| at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
| at java.io.ObjectInputStream.readObject0(Unknown Source)
| at java.io.ObjectInputStream.readObject(Unknown Source)
| at java.util.HashMap.readObject(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
| at java.io.ObjectInputStream.readSerialData(Unknown Source)
| at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
| at java.io.ObjectInputStream.readObject0(Unknown Source)
| at java.io.ObjectInputStream.readObject(Unknown Source)
| at org.jboss.cache.marshall.NodeData.readExternal(NodeData.java:88)
| at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:612)
| at org.jboss.cache.marshall.CacheMarshaller200.populateFromStream(CacheMarshaller200.java:776)
| at org.jboss.cache.marshall.CacheMarshaller200.unmarshallLinkedList(CacheMarshaller200.java:715)
| at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:578)
| at org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:522)
| at org.jboss.cache.marshall.CacheMarshaller200.objectFromObjectStream(CacheMarshaller200.java:140)
| at org.jboss.cache.marshall.VersionAwareMarshaller.objectFromObjectStream(VersionAwareMarshaller.java:326)
| at org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.readNodesAsList(DefaultStateTransferIntegrator.java:284)
| at org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.integrateTransientState(DefaultStateTransferIntegrator.java:243)
| at org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.integrateTransientState(DefaultStateTransferIntegrator.java:82)
| ... 30 more
| Caused by: java.io.NotSerializableException: java.util.concurrent.FutureTask
| at java.io.ObjectOutputStream.writeObject0(Unknown Source)
| at java.io.ObjectOutputStream.writeObject(Unknown Source)
| at java.util.concurrent.ConcurrentHashMap.writeObject(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
| at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
| at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
| at java.io.ObjectOutputStream.writeObject0(Unknown Source)
| at java.io.ObjectOutputStream.writeObject(Unknown Source)
| at java.util.HashMap.writeObject(Unknown Source)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
| at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
| at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
| at java.io.ObjectOutputStream.writeObject0(Unknown Source)
| at java.io.ObjectOutputStream.writeObject(Unknown Source)
| at org.jboss.cache.marshall.NodeData.writeExternal(NodeData.java:73)
| at org.jboss.cache.marshall.CacheMarshaller200.marshallObject(CacheMarshaller200.java:398)
| at org.jboss.cache.marshall.CacheMarshaller200.marshallCollection(CacheMarshaller200.java:489)
| at org.jboss.cache.marshall.CacheMarshaller200.marshallObject(CacheMarshaller200.java:332)
| at org.jboss.cache.marshall.CacheMarshaller200.objectToObjectStream(CacheMarshaller200.java:170)
| at org.jboss.cache.marshall.VersionAwareMarshaller.objectToObjectStream(VersionAwareMarshaller.java:255)
| at org.jboss.cache.statetransfer.DefaultStateTransferGenerator.marshallTransientState(DefaultStateTransferGenerator.java:139)
| at org.jboss.cache.statetransfer.DefaultStateTransferGenerator.generateState(DefaultStateTransferGenerator.java:57)
| at org.jboss.cache.statetransfer.StateTransferManager.getState(StateTransferManager.java:109)
| at org.jboss.cache.remoting.jgroups.ChannelMessageListener.getState(ChannelMessageListener.java:139)
| at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUpEvent(MessageDispatcher.java:629)
| at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:747)
| at org.jgroups.JChannel.up(JChannel.java:1154)
| at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:402)
| at org.jgroups.protocols.pbcast.STATE_TRANSFER.requestApplicationStates(STATE_TRANSFER.java:232)
| at org.jgroups.protocols.pbcast.STATE_TRANSFER.handleStateReq(STATE_TRANSFER.java:375)
| at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:117)
| at org.jgroups.protocols.pbcast.GMS.up(GMS.java:780)
| at org.jgroups.protocols.FRAG2.up(FRAG2.java:205)
| ... 17 more
|
I used jbossCache 2.2.0GA version. my configure file:
| <?xml version="1.0" encoding="UTF-8"?>
| <!-- =====================================================================
| -->
| <!-- -->
| <!-- JBoss Cache Service Configuration -->
| <!-- -->
| <!-- =====================================================================
| -->
| <server>
| <mbean code="org.jboss.cache.jmx.CacheJmxWrapper"
| name="jboss.cache:service=Cache">
| <!-- Configure the TransactionManager -->
| <attribute name="TransactionManagerLookupClass">
| com.topsoft.common.cache.CacheTransationManagerLookUp
| </attribute>
| <!-- Node locking level : SERIALIZABLE
| REPEATABLE_READ (default)
| READ_COMMITTED
| READ_UNCOMMITTED
| NONE -->
| <attribute name="IsolationLevel">READ_COMMITTED</attribute>
| <!-- Lock parent before doing node additions/removes -->
| <attribute name="LockParentForChildInsertRemove">
| true
| </attribute>
| <!-- Valid modes are LOCAL (default)
| REPL_ASYNC
| REPL_SYNC
| INVALIDATION_ASYNC
| INVALIDATION_SYNC -->
| <attribute name="CacheMode">REPL_SYNC</attribute>
| <!-- Max number of milliseconds to wait for a lock acquisition -->
| <attribute name="LockAcquisitionTimeout">15000</attribute>
| <!-- Specific eviction policy configurations. This is LRU -->
|
| <attribute name="ClusterName">JBossCache-Cluster</attribute>
|
| <depends>jgroups.mux:name=Multiplexer</depends>
| <attribute name="MultiplexerStack">
| fc-fast-minimalthreads
| </attribute>
|
| <!-- JGroups protocol stack properties.
| ClusterConfig isn't used if the multiplexer is enabled and successfully initialized.
| -->
| <attribute name="ClusterConfig">
| <config>
| <!-- 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.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" />
| <MERGE2 min_interval="10000" max_interval="20000" />
| <FD shun="true" />
| <FD_SOCK />
| <VERIFY_SUSPECT timeout="1500" />
| <pbcast.NAKACK gc_lag="50"
| retransmit_timeout="600,1200,2400,4800" />
| <UNICAST timeout="600,1200,2400,4800" />
| <pbcast.STABLE desired_avg_gossip="400000" />
| <FC max_credits="2000000" min_threshold="0.10" />
| <FRAG2 frag_size="8192" />
| <pbcast.GMS join_timeout="5000" shun="true"
| print_local_addr="true" />
|
| <pbcast.STATE_TRANSFER />
|
| </config>
|
| </attribute>
|
| <!--
| The max amount of time (in milliseconds) we wait until the
| state (ie. the contents of the cache) are retrieved from
| existing members in a clustered environment
| -->
| <attribute name="StateRetrievalTimeout">20000</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>
| <attribute name="ShutdownHookBehavior">DEFAULT</attribute>
| <attribute name="UseLazyDeserialization">false</attribute>
|
|
| <attribute name="EvictionPolicyConfig">
| <config>
| <attribute name="wakeUpIntervalSeconds">5</attribute>
| <!-- This defaults to 200000 if not specified -->
| <attribute name="eventQueueSize">200000</attribute>
| <attribute name="policyClass">
| org.jboss.cache.eviction.LRUPolicy
| </attribute>
|
| <!-- Cache wide default -->
| <region name="/_default_">
| <attribute name="maxNodes">5000</attribute>
| <attribute name="timeToLiveSeconds">1000</attribute>
| </region>
| </config>
| </attribute>
| <attribute name="CacheLoaderConfig" replace="false">
| <config>
| <shared>false</shared>
| <cacheloader>
|
| <class>
| org.jboss.cache.loader.jdbm.JdbmCacheLoader
| </class>
| <properties>location=./topCache_cluster_temp/</properties>
| <async>false</async>
| <!-- if set to true, purges the contents of this cache loader when the cache starts up.
| Defaults to false. -->
| <purgeOnStartup>true</purgeOnStartup>
| </cacheloader>
| </config>
| </attribute>
| </mbean>
| </server>
|
what's the matter ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4182036#4182036
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4182036
More information about the jboss-user
mailing list