Hi Cris,
I am leaving to catch the train now. I'll take a look over the
weekend. This is strange indeed - we had issues in the past on
deserialization during Tomcat startup, but those were due to
ClassLoaders not being in the right state. This scenario is different.
Andrus
On Dec 1, 2006, at 6:48 PM, Cris Daniluk wrote:
I've turned on Tomcat clustering on an existing application, and thus
the session-bound user DataContext is being serialized across the
wire. Whenever I connect to a Tomcat node, the nodes that are
replicated to report the attached exception. Based on the line number
(Cayenne 1.2.1), it looks like the objectStore has null elements in
it, which does not make any sense.
Any ideas?
Cris
ERROR [org.apache.catalina.cluster.tcp.TcpReplicationThread[1]] -
2006-12-01 10:44:42,264 Manager [/integration]: Unable to receive
message through TCP channel
java.lang.NullPointerException
at org.objectstyle.cayenne.access.DataContext.readObject
(DataContext.java:1806)
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.invokeReadObject
(ObjectStreamClass.java:946)
at java.io.ObjectInputStream.readSerialData
(ObjectInputStream.java:1809)
at java.io.ObjectInputStream.readOrdinaryObject
(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0
(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields
(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData
(ObjectInputStream.java:1832)
at java.io.ObjectInputStream.readOrdinaryObject
(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0
(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.defaultReadFields
(ObjectInputStream.java:1908)
at java.io.ObjectInputStream.readSerialData
(ObjectInputStream.java:1832)
at java.io.ObjectInputStream.readOrdinaryObject
(ObjectInputStream.java:1719)
at java.io.ObjectInputStream.readObject0
(ObjectInputStream.java:1305)
at java.io.ObjectInputStream.readObject
(ObjectInputStream.java:348)
at org.apache.catalina.cluster.session.DeltaRequest
$AttributeInfo.readExternal(DeltaRequest.java:334)
at
org.apache.catalina.cluster.session.DeltaRequest.readExternal
(DeltaRequest.java:246)
at
org.apache.catalina.cluster.session.DeltaManager.loadDeltaRequest
(DeltaManager.java:697)
at
org.apache.catalina.cluster.session.DeltaManager.handleSESSION_DELTA
(DeltaManager.java:1572)
at
org.apache.catalina.cluster.session.DeltaManager.messageReceived
(DeltaManager.java:1522)
at
org.apache.catalina.cluster.session.DeltaManager.messageDataReceived
(DeltaManager.java:1271)
at
org.apache.catalina.cluster.session.ClusterSessionListener.messageRece
ived(ClusterSessionListener.java:85)
at org.apache.catalina.cluster.tcp.SimpleTcpCluster.receive
(SimpleTcpCluster.java:1167)
at
org.apache.catalina.cluster.tcp.ClusterReceiverBase.messageDataReceive
d(ClusterReceiverBase.java:426)
at org.apache.catalina.cluster.io.ObjectReader.execute
(ObjectReader.java:107)
at
org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel
(TcpReplicationThread.java:138)
at org.apache.catalina.cluster.tcp.TcpReplicationThread.run
(TcpReplicationThread.java:69)