I am running a web app in IBM RAD 7 with a Tomcat 5.5.26 server, with clustering (two Tomcat instances). When shutting down the Tomcat server(s), I get the following warning:
Mar 19, 2009 2:52:43 PM org.apache.catalina.session.StandardSession
writeObject
WARNING: Cannot serialize session attribute createXXXManager for session
8B1876E5C5C54B242E4256674843600B
java.io.NotSerializableException:
com.ibatis.dao.engine.impl.StandardDaoManager
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
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.apache.catalina.session.StandardSession.writeObject(StandardSession.java
:1478)
at
org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.
java:948)
at
org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:51
7)
at
org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
at
org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4360)
at
org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1067)
at
org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1067)
at
org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448)
at
org.apache.catalina.core.StandardService.stop(StandardService.java:510)
at
org.apache.catalina.core.StandardServer.stop(StandardServer.java:734)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:602)
at org.apache.catalina.startup.Catalina.start(Catalina.java:577)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
All of my managers, including createXXXManager, inherit from a serializable
class BaseManager, but if I'm reading this correctly, it looks like the
iBatis class StandardDaoManager is not serializable. I can't edit that
class, of course.
Here's what I want to know:
1. If I put the following code in my context.xml file, will it prevent
clustering from working properly?
<Manager className="org.apache.catalina.session.PersistentManager"
saveOnRestart="false" />
2. If the aforementioned context.xml snippet keeps clustering from working,
what options do I have to stop the warnings but keep clustering working
properly?
Thanks for any insight!
Jonathan
smime.p7s
Description: S/MIME cryptographic signature
