CMSポートレットでシリアライズできませんが発生

何が原因で起きているか、まだわかっていないけど、TeedaのStateManager付近でシリアライズできんといわれるな。この辺はポートレット用にいじったような気がするところだな・・・。何だろ。

2007.01.08,04:42:55,240,StandardSession.java:1468,WARN,セッション GED16FA390FF957D079F6DDDE264C91B のためにセッション属性 javax.portlet.p.site-home-10004?org.seasar.teeda.core.application.TeedaStateManager.SERIALIZED_VIEW-/view/viewer/displayContent.jsp をシリアライズできません
java.io.NotSerializableException: org.seasar.teeda.core.application.impl.TreeStructureManagerImpl
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1462)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:938)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:516)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:462)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:666)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4345)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:892)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1019)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1187)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:292)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1305)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1569)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1578)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1558)
at java.lang.Thread.run(Thread.java:595)

追記:ログをみていると、ウェブアプリをアンロードしようとして、セッションを保存するときに、TreeStructureManagerImplをはき出そうとしたけど、シリアライズできなくて起こっているみたいな気がする。これって、別にポートレットだからという訳じゃなくて、サーブレットでも状態をセッション保存すれば、起きそうな気もするけど。

追記:もしかして、SerializedViewがStateManagerのインナークラスだから、StateManagerもシリアライズしようとして、それに含まれているTreeStructureManagerImplもシリアライズしようとして、落ちるパターンな気がする・・・。修正方法は、TreeStructureManagerImplもシリアライズにすることかな?それか作りを変えるか??

コメントを残す

メールアドレスが公開されることはありません。