[ 
http://issues.apache.org/jira/browse/IBATIS-60?page=comments#action_57864 ]
     
Ate Douma commented on IBATIS-60:
---------------------------------

I know I can do that. But the point is, I don't want to.
There *is* a functional value in (de)serialization of session state by a web 
container!

Anyway, I think I probably won't be the only one experiencing this problem.
A lot of J2EE applications make proper use of the (session) state serialization 
and providing
Serializable objects for use in J2EE application is common practice in my 
opinion. 

I didn't look at the code of the PaginatedDataList, but for what specific 
reason would you not
want it to be Serializable?
And if some (or all) contained data should never be serialized you could 
implement the readObject
and writeObject to handle it yourself (I know that might be a lot of, or too 
much, work though).

Regards, Ate

> PaginatedDataList not Serializable
> ----------------------------------
>
>          Key: IBATIS-60
>          URL: http://issues.apache.org/jira/browse/IBATIS-60
>      Project: iBatis for Java
>         Type: Bug
>   Components: SQL Maps
>     Versions: 2.0.8
>     Reporter: Ate Douma

>
> INFO: Installing web application at context path /jpetstore from URL 
> file:D:\tomcat5\webapps\jpetstore
> ERROR [main] - IOException while loading persisted sessions: 
> java.io.WriteAbortedException: writing aborted; java.io.Not
> SerializableException: 
> com.ibatis.sqlmap.engine.mapping.statement.PaginatedDataList
> java.io.WriteAbortedException: writing aborted; 
> java.io.NotSerializableException: com.ibatis.sqlmap.engine.mapping.state
> ment.PaginatedDataList
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1278)
>         at 
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1845)
>         at 
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
>         at 
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
>         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
>         at 
> org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1342)
>         at 
> org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:885)
>         at 
> org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:416)
>         at 
> org.apache.catalina.session.StandardManager.load(StandardManager.java:343)
>         at 
> org.apache.catalina.session.StandardManager.start(StandardManager.java:657)
>         at 
> org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:499)
>         at 
> org.apache.catalina.startup.ContextConfig.managerConfig(ContextConfig.java:315)
>         at 
> org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:635)
>         at 
> org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:216)
>         at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at 
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4290)
>         at 
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
>         at 
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
>         at 
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
>         at 
> org.apache.catalina.core.StandardHostDeployer.install(StandardHostDeployer.java:277)
>         at 
> org.apache.catalina.core.StandardHost.install(StandardHost.java:832)
>         at 
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:701)
>         at 
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:432)
>         at org.apache.catalina.startup.HostConfig.start(HostConfig.java:983)
>         at 
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:349)
>         at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at 
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1091)
>         at org.apache.catalina.core.StandardHost.start(StandardHost.java:789)
>         at 
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083)
>         at 
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478)
>         at 
> org.apache.catalina.core.StandardService.start(StandardService.java:480)
>         at 
> org.apache.catalina.core.StandardServer.start(StandardServer.java:2313)
>         at org.apache.catalina.startup.Catalina.start(Catalina.java:556)
>         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:324)
>         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:287)
>         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425)
> Caused by: java.io.NotSerializableException: 
> com.ibatis.sqlmap.engine.mapping.statement.PaginatedDataList
>         at 
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
>         at 
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
>         at 
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
>         at 
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>         at 
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>         at 
> org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1415)
>         at 
> org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:902)
>         at 
> org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:539)
>         at 
> org.apache.catalina.session.StandardManager.unload(StandardManager.java:485)
>         at 
> org.apache.catalina.session.StandardManager.stop(StandardManager.java:687)
>         at 
> org.apache.catalina.core.StandardContext.stop(StandardContext.java:4496)
>         at 
> org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:952)
>         at 
> org.apache.catalina.core.StandardHostDeployer.remove(StandardHostDeployer.java:670)
>         at org.apache.catalina.core.StandardHost.remove(StandardHost.java:946)
>         at 
> org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1028)
>         at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1005)
>         at 
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:351)
>         at 
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
>         at 
> org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1123)
>         at 
> org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1135)
>         at 
> org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:483)
>         at 
> org.apache.catalina.core.StandardService.stop(StandardService.java:542)
>         at 
> org.apache.catalina.core.StandardServer.stop(StandardServer.java:2347)
>         at org.apache.catalina.startup.Catalina.stop(Catalina.java:605)
>         at 
> org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:648)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira

Reply via email to