[Seasar-user:10717] [Teeda] 1.0.11-RC2 HOT deploy時 TakeOver.EXCLUDEを使うとNotSerializableExceptionが発生

Junichi Kato [E-MAIL ADDRESS DELETED]
2007年 9月 25日 (火) 17:33:26 JST


加藤です.

お疲れ様です.

Teeda 1.0.11-RC2(SNAPSHOTではない)で,HOT deploy時に,
TakeOver.EXCLUDEを使うとNotSerializableExceptionが発生します.
COOL deployでは問題が発生しませんし,TakeOver.INCLUDEでも発生しません.

発生するタイミングは,以下のdoメソッドを抜けた後に発生しています.
また,UserCreditCardBhvは,当該ページクラスでフィールドとして
保持しています.

また,当該ページクラスは,Serializableを実装していません.

どのように対応すべきか,アドバイスいただけると助かります.
よろしくお願いします.

@TakeOver(type = TakeOverType.EXCLUDE, properties = "bank, bankAccount")
public Class<?> doNoInputNext() {
	return HogehogePage.class;
}

DEBUG 2007-09-25 17:26:22,598 [http-8080-Processor24] [ESSR0040]IO例外が発生しました。理由はjava.io.NotSerializableException: bz.hoge.hogehoge.common.dbflute.exbhv.UserCreditCardBhv$$EnhancedByS2AOP$$19bb448
org.seasar.framework.exception.IORuntimeException: [ESSR0040]IO例外が発生しました。理由はjava.io.NotSerializableException: bz.hoge.hogehoge.common.dbflute.exbhv.UserCreditCardBhv$$EnhancedByS2AOP$$19bb448
	at org.seasar.framework.container.hotdeploy.HotdeployUtil$RebuilderImpl.rebuild(HotdeployUtil.java:164)
	at org.seasar.framework.container.hotdeploy.HotdeployUtil.rebuildValueInternal(HotdeployUtil.java:126)
	at org.seasar.framework.container.hotdeploy.HotdeployUtil.rebuildValue(HotdeployUtil.java:107)
	at org.seasar.framework.container.external.RebuildableExternalContextMap.get(RebuildableExternalContextMap.java:59)
	at javax.faces.internal.scope.VariableScope.getContexts(VariableScope.java:100)
	at javax.faces.internal.scope.VariableScope.getContext(VariableScope.java:50)
	at javax.faces.internal.scope.SubApplicationScope.getContext(SubApplicationScope.java:36)
	at org.seasar.teeda.extension.html.impl.ScopeValueHelper.getSubApplicationScopeValues(ScopeValueHelper.java:38)
	at org.seasar.teeda.extension.html.impl.SessionPagePersistence.restore(SessionPagePersistence.java:109)
	at org.seasar.teeda.extension.html.impl.HtmlViewHandler.setUpRequestForExternalBinding(HtmlViewHandler.java:110)
	at org.seasar.teeda.extension.html.impl.HtmlViewHandler.restoreView(HtmlViewHandler.java:103)
	at org.seasar.teeda.core.lifecycle.impl.RestoreViewPhase.composeViewRoot(RestoreViewPhase.java:113)
	at org.seasar.teeda.core.lifecycle.impl.RestoreViewPhase.executePhase(RestoreViewPhase.java:81)
	at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
	at org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:68)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.NotSerializableException: bz.hoge.hogehoge.common.dbflute.exbhv.UserCreditCardBhv$$EnhancedByS2AOP$$19bb448
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at java.util.HashMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at java.util.HashMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
	at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at java.util.HashMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
	at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at org.seasar.framework.container.hotdeploy.HotdeployUtil$RebuilderImpl.rebuild(HotdeployUtil.java:156)
	... 41 more
DEBUG 2007-09-25 17:26:22,607 [http-8080-Processor24] HOT deployを終了しました
2007-09-25 17:26:22,607 [http-8080-Processor24] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/hogehoge-web].[facesServlet] - サーブレット facesServlet のServlet.service()が例外を投げました
org.seasar.framework.exception.IORuntimeException: [ESSR0040]IO例外が発生しました。理由はjava.io.NotSerializableException: bz.hoge.hogehoge.common.dbflute.exbhv.UserCreditCardBhv$$EnhancedByS2AOP$$19bb448
	at org.seasar.framework.container.hotdeploy.HotdeployUtil$RebuilderImpl.rebuild(HotdeployUtil.java:164)
	at org.seasar.framework.container.hotdeploy.HotdeployUtil.rebuildValueInternal(HotdeployUtil.java:126)
	at org.seasar.framework.container.hotdeploy.HotdeployUtil.rebuildValue(HotdeployUtil.java:107)
	at org.seasar.framework.container.external.RebuildableExternalContextMap.get(RebuildableExternalContextMap.java:59)
	at javax.faces.internal.scope.VariableScope.getContexts(VariableScope.java:100)
	at javax.faces.internal.scope.VariableScope.removeContext(VariableScope.java:77)
	at javax.faces.internal.scope.VariableScope.removeContext(VariableScope.java:71)
	at javax.faces.internal.scope.SubApplicationScope.removeContext(SubApplicationScope.java:46)
	at org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl.handleException(TeedaExtensionErrorPageManagerImpl.java:68)
	at org.seasar.teeda.core.lifecycle.LifecycleImpl.handleException(LifecycleImpl.java:116)
	at org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:108)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:94)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.io.NotSerializableException: bz.hoge.hogehoge.common.dbflute.exbhv.UserCreditCardBhv$$EnhancedByS2AOP$$19bb448
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at java.util.HashMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at java.util.HashMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
	at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at java.util.HashMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
	at java.io.ObjectOutputStream.defaultWriteObject(Unknown Source)
	at java.util.Collections$SynchronizedMap.writeObject(Unknown Source)
	at sun.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source)
	at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
	at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
	at java.io.ObjectOutputStream.writeObject0(Unknown Source)
	at java.io.ObjectOutputStream.writeObject(Unknown Source)
	at org.seasar.framework.container.hotdeploy.HotdeployUtil$RebuilderImpl.rebuild(HotdeployUtil.java:156)
	... 37 more


───────────────────────────────
 株式会社 グランテック
 代表取締役社長
 加藤 潤一 Junichi Kato

〒154-0012
東京都世田谷区駒沢2-16-1 サンドー駒沢ビル4F
TEL 050-5538-2383  FAX 03-3487-7211
HP : http://www.grandtech.jp/
BLOG : http://d.hatena.ne.jp/j5ik2o/
E-MAIL : [E-MAIL ADDRESS DELETED]




Seasar-user メーリングリストの案内