java serialization: how to show object references

41 views Asked by At

For the following stacktrace of tomcat session replication, is there a way to show object reference graph for serialization? i.e.,

Object A in session -> Object B -> .... -> ClassFoo Object

In other words, how to show the object type to write for each writeObject() method in stacktrace?

Any object logging for java serialization?

java.io.NotSerializableException: com.example.ClassFoo
        at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1175)
        at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1543)
        at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1500)
        at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1423)
        at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1169)
        at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1543)
        at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1500)
        at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1423)
        at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1169)
        at java.base/java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1543)
        at java.base/java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1500)
        at java.base/java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1423)
        at java.base/java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1169)
        at java.base/java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:345)
        at org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:438)
        at org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:326)
        at org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:340)
        at org.apache.catalina.ha.session.DeltaSession.getDiff(DeltaSession.java:168)
        at org.apache.catalina.ha.session.DeltaManager.requestCompleted(DeltaManager.java:1046)
        at org.apache.catalina.ha.session.DeltaManager.requestCompleted(DeltaManager.java:1014)
        at org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:527)
        at org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:515)
        at org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:497)
        at org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:409)
        at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:340)
0

There are 0 answers