Link to home
Start Free TrialLog in
Avatar of a122178
a122178

asked on

Tomcat clustor: Error: Unable to serialize delta request

Hi,

I am doing the tomcat clustor on Tomcat 5.0. I followed the configration online:
1) All session attributes must implement java.io.Serializable
2) Uncomment the Cluster element in server.xml
3) Uncomment the Value(ReplicationValue) element in server.xml
4) Tomcat is not running on the same machine
5) web.xml has the <distributable>true</distributable>

However, I got the following error message on the console:

SEVERE: Unable to serialize delta request
java.io.NotSerializableException: java.util.PropertyResourceBundle
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1369)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1341)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
        at org.apache.catalina.cluster.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:300)
        at org.apache.catalina.cluster.session.DeltaRequest.writeExternl(DeltaRequest.java:217)
        at org.apache.catalina.cluster.session.DeltaManager.unloadDeltaRequest(DeltaManager.java:393)
        at org.apache.catalina.cluster.session.DeltaManager.requestCompleted(DeltaManager.java:782)
        at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:203)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:595)

I cannot find PropertyResourceBundle in my project. Anyone has any clue?

Thanks
Avatar of rama_krishna580
rama_krishna580
Flag of United States of America image

Hi,

Its the Object that deployed in cluster environments are not inSync. Try to Undeploy and deploy both env. again.

R.K
Avatar of a122178
a122178

ASKER

Thanks for your comment. But what do you mean Undeploy and deploy both env. I just change the configuration in Tomcat. Can you tell more detail about that?
Make sure the applications you have in Cluster Env. (Both Machines) are the same, and the Configurations are also same.

R.K
Avatar of a122178

ASKER

Yeah. Both of the configurations. The Tomcat version, the server.xml and web.xml are the same.

ASKER CERTIFIED SOLUTION
Avatar of rama_krishna580
rama_krishna580
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of a122178

ASKER

I will try it and let you know. Thanks.
Avatar of a122178

ASKER

I have tried it. But I still got the error message.

I cannot find which class has to be serialized.
Avatar of a122178

ASKER

Check the application. All the objects y, (I believe for String, Locale and Integer are already serialized) in setAttribute(x,y) are serialized. Getting the same message:

SEVERE: Unable to serialize delta request for sessionid [FA55D3E188C4668B43129DA
C5CFE4867.node01]
java.io.NotSerializableException: java.util.PropertyResourceBundle

Avatar of a122178

ASKER

In additional, I have printed out all the names and values in the session:

clientLocale en
External false
SessionListener com.nai.session.SessionListener@6cbecf
m_User Name: administrator ID: 1.1 Role description: Administrator
Passkey 1
UserName administrator
IPAddress 127.0.0.1
ExternalConnection 0
SharedSessionName null

It seems I have string, boolean and sessionListener (which is serialized) in my session.