[Seasar-user:4198] [S2RMI] Dtoをやり取りするとClassCastExceptionが発生する
Takuya OKADA
[E-MAIL ADDRESS DELETED]
2006年 7月 27日 (木) 01:15:15 JST
岡田と申します。
S2RMIを使用して、Web側とLogic側という二種類のプロジェクトを
連結しようとしていますが、うまくいきません。
現象としては、
Logic側のServiceクラスで作成したDtoを、
Tomcat上に展開したWeb側のPageクラスで取得しようとすると、
ClassCastExceptionが発生します。
Tomcatを利用せずに、Web側のテストクラスを実行したところ、
値が正常に取得できました。
利用している環境は以下の通りです。
Java:JDK1.5.0_06
Tomcat:5.5.17
S2container:2.4.0-beta-4-SNAPSHOT
S2RMI:1.0.3-SNAPSHOT
S2Remoting:1.0.2
元々、Web側を1.4、Logic側を1.5という異なるバージョンで繋ごうとして
いますが、上記の問題が起こったため、同バージョン(1.5)でコンパイル
し直しても改善されませんでした。
使用したDtoはWeb側にあるもので、Logic側でプロジェクト参照して
利用しています(=同じクラスのはず)。
もちろん、Serializableをimplementsして、シリアルバージョンIDは
付与しています。
エラーログを以下に転機します。
=========
XXXX-XX-XX XX:XX:XX,XXX [http-8080-Processor25] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/hoge].[facesServlet] - サーブレット facesServlet のServlet.service()が例外を投げました
java.lang.ClassCastException: jp.co.hoge.dto.HogeDto
at jp.co.hoge.web.foo.fooTopPage.initialize(fooTopPage.java:40)
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:585)
at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:42)
at org.seasar.framework.beans.impl.BeanDescImpl.invoke(BeanDescImpl.java:206)
at org.seasar.teeda.extension.html.impl.HtmlViewHandler.invokeInitialize(HtmlViewHandler.java:142)
at org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:113)
at org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:98)
at org.seasar.teeda.core.lifecycle.impl.RenderResponsePhase.executePhase(RenderResponsePhase.java:37)
at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:55)
at org.seasar.teeda.core.lifecycle.LifecycleImpl.render(LifecycleImpl.java:134)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:80)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
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:55)
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:63)
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(Thread.java:595)
==========
なにかご存知の方がいらっしゃいましたら、ご教授ください。
よろしくお願いします。
--
Takuya OKADA <[E-MAIL ADDRESS DELETED]>
Seasar-user メーリングリストの案内