On Sat, 2006-02-11 at 07:21 -0500, Davanum Srinivas wrote:
> I belive the SessionContext is the culprit...It has a
> serviceContextMap and a serviceGroupContextMap. tomcat tries to
> serialize them to disk.
> 

I poked around a bit to see what the problem is. It is occurring because
we are putting things in the session object that are not serializable.
When tomcat shuts down, it attempts to write everything inside the
session, including our non-serializable objects. Example:

In ListingAgent.listServices() for example, we set an attribute
Constants.SERVICE_MAP [via HttpSession.setAttribute()] to the services
hashmap. This is where that exception about AxisService not being
serializable comes from.

Another interesting thing I noticed: we set the session attribute for
service map everywhere, but we don't seem to read it anywhere, which
begs the question, why not just remove it?

As far as making AxisService serializable goes, if we want true
serialization, we will have to recursively go through all complex
non-serializable objects inside AxisService, and make then serializable.

I think removing calls to setAttribute() for servicemap is the way to
go.

Deepak

Reply via email to