I know this is not directly related to JBoss Messaging, but since it came up during its usage I thought this would be a good place to post this problem. It seems that the ConcurrentHashMap's inner Segment class is not marked as Serializable (it is in the Doug Lea's source code) and is causing problems with messaging. The concurrent.jar that is being used is in the latest AOP (1.5.5.GA) release in the either the lib or lib-50 directory. The version in the lib directory of JAS is marked as serializable and when switching to that version, the exceptions stopped.
Below is a stack trace of the exceptions being thrown by the messaging client when using the AOP version of concurrent.jar: | 11:41:03,751 ERROR [JMSWireFormat] Failed to write packet | java.io.NotSerializableException: EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Segment | at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081) | at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251) | at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075) | at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375) | at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:391) | at EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap.writeObject(ConcurrentHashMap.java:1170) | 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 java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) | at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339) | at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290) | at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079) | at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375) | at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347) | at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290) | at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079) | at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302) | at org.jboss.jms.wireformat.SerializedPacket.write(SerializedPacket.java:80) | at org.jboss.jms.wireformat.JMSWireFormat.write(JMSWireFormat.java:237) | at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedWrite(MicroSocketClientInvoker.java:969) | at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:557) | at org.jboss.remoting.transport.bisocket.BisocketClientInvoker.transport(BisocketClientInvoker.java:339) | at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122) | at org.jboss.remoting.LeasePinger.sendClientPing(LeasePinger.java:283) | at org.jboss.remoting.LeasePinger.addClient(LeasePinger.java:117) | at org.jboss.remoting.MicroRemoteClientInvoker.establishLease(MicroRemoteClientInvoker.java:398) | at org.jboss.remoting.Client.setupClientLease(Client.java:1541) | at org.jboss.remoting.Client.connect(Client.java:1441) | at org.jboss.remoting.Client.connect(Client.java:444) | at org.jboss.jms.client.remoting.JMSRemotingConnection.start(JMSRemotingConnection.java:271) | at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnectionFactoryDelegate$createConnectionDelegate$aop(ClientConnectionFactoryDelegate.java:146) | at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeNext(ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java) | at org.jboss.jms.client.container.StateCreationAspect.handleCreateConnectionDelegate(StateCreationAspect.java:83) | at org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect0.invoke(StateCreationAspect0.java) | at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeNext(ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java) | at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createConnectionDelegate(ClientConnectionFactoryDelegate.java) | at org.jboss.jms.client.container.ClusteringAspect.handleCreateConnectionDelegate(ClusteringAspect.java:131) | 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.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:121) | at org.jboss.jms.client.delegate.ClientClusteredConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeNext(ClientClusteredConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java) | at org.jboss.jms.client.delegate.ClientClusteredConnectionFactoryDelegate.createConnectionDelegate(ClientClusteredConnectionFactoryDelegate.java) | at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:205) | at org.jboss.jms.client.JBossConnectionFactory.createConnection(JBossConnectionFactory.java:87) | at org.jboss.jms.client.JBossConnectionFactory.createConnection(JBossConnectionFactory.java:82) | at org.kdr.jms.BasicContentSynchManager.getConnection(BasicContentSynchManager.java:93) | at org.kdr.jms.BasicContentSynchManager.start(BasicContentSynchManager.java:191) | at org.kdr.jms.TestContentSynchManager.<init>(TestContentSynchManager.java:41) | at org.kdr.jms.TestContentSynchManager.main(TestContentSynchManager.java:63) | 11:41:03,766 ERROR [SocketClientInvoker] Got marshalling exception, exiting | java.io.IOException: EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Segment | at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081) | at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251) | at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075) | at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375) | at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:391) | at EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap.writeObject(ConcurrentHashMap.java:1170) | 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 java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917) | at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339) | at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290) | at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079) | at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375) | at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347) | at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290) | at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079) | at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302) | at org.jboss.jms.wireformat.SerializedPacket.write(SerializedPacket.java:80) | at org.jboss.jms.wireformat.JMSWireFormat.write(JMSWireFormat.java:237) | at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedWrite(MicroSocketClientInvoker.java:969) | at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:557) | at org.jboss.remoting.transport.bisocket.BisocketClientInvoker.transport(BisocketClientInvoker.java:339) | at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122) | at org.jboss.remoting.LeasePinger.sendClientPing(LeasePinger.java:283) | at org.jboss.remoting.LeasePinger.addClient(LeasePinger.java:117) | at org.jboss.remoting.MicroRemoteClientInvoker.establishLease(MicroRemoteClientInvoker.java:398) | at org.jboss.remoting.Client.setupClientLease(Client.java:1541) | at org.jboss.remoting.Client.connect(Client.java:1441) | at org.jboss.remoting.Client.connect(Client.java:444) | at org.jboss.jms.client.remoting.JMSRemotingConnection.start(JMSRemotingConnection.java:271) | at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.org$jboss$jms$client$delegate$ClientConnectionFactoryDelegate$createConnectionDelegate$aop(ClientConnectionFactoryDelegate.java:146) | at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeNext(ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java) | at org.jboss.jms.client.container.StateCreationAspect.handleCreateConnectionDelegate(StateCreationAspect.java:83) | at org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect0.invoke(StateCreationAspect0.java) | at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeNext(ClientConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java) | at org.jboss.jms.client.delegate.ClientConnectionFactoryDelegate.createConnectionDelegate(ClientConnectionFactoryDelegate.java) | at org.jboss.jms.client.container.ClusteringAspect.handleCreateConnectionDelegate(ClusteringAspect.java:131) | 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.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:121) | at org.jboss.jms.client.delegate.ClientClusteredConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.invokeNext(ClientClusteredConnectionFactoryDelegate$createConnectionDelegate_N3019492359065420858.java) | at org.jboss.jms.client.delegate.ClientClusteredConnectionFactoryDelegate.createConnectionDelegate(ClientClusteredConnectionFactoryDelegate.java) | at org.jboss.jms.client.JBossConnectionFactory.createConnectionInternal(JBossConnectionFactory.java:205) | at org.jboss.jms.client.JBossConnectionFactory.createConnection(JBossConnectionFactory.java:87) | at org.jboss.jms.client.JBossConnectionFactory.createConnection(JBossConnectionFactory.java:82) | at org.kdr.jms.BasicContentSynchManager.getConnection(BasicContentSynchManager.java:93) | at org.kdr.jms.BasicContentSynchManager.start(BasicContentSynchManager.java:191) | at org.kdr.jms.TestContentSynchManager.<init>(TestContentSynchManager.java:41) | at org.kdr.jms.TestContentSynchManager.main(TestContentSynchManager.java:63) | 11:41:03,766 WARN [LeasePinger] LeasePinger[SocketClientInvoker[7981d5, bisocket://10.10.100.10:4457](aa2s2v-2r2fch-f3helqsj-1-f3helrmh-5)] failed to ping to server: Failed to communicate. Problem during marshalling/unmarshalling; nested exception is: | java.io.IOException: EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Segment | View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4058842#4058842 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4058842 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user