[ 
http://issues.apache.org/jira/browse/IBATIS-60?page=comments#action_57876 ]
     
Clinton Begin commented on IBATIS-60:
-------------------------------------


PaginatedDataList is a simple tool to solve simple problems.  JPetStore is one 
of those simple problems.  There is no functional value in serializing your 
session, unless your clustering your server.  If you're clustering your server, 
you are no longer working with a simple problem.  Not only should you not be 
worried about the transient nature of PaginatedDataList, you should not be 
using it at all.  A more scalable design would be to simply store the current 
page and the page size in the session (2 integers).  In a highly available, 
high performance enterprise system, you don't want a list of objects hanging 
around in your session for every user. 

Either way you cut it, at the very least, this is not a bug.  It is a feature 
request.  

Would you like me to reopen it and move it to new features?

Cheers,
Clinton

> 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