You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ibatis.apache.org by "Ate Douma (JIRA)" <ib...@incubator.apache.org> on 2005/01/21 00:58:17 UTC

[jira] Commented: (IBATIS-60) PaginatedDataList not Serializable

     [ 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