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
