[Seasar-user:19855] Re: [s2Dao] コンパイル環境を変更するとClassCastExceptionが発生

k hase [E-MAIL ADDRESS DELETED]
2010年 6月 16日 (水) 12:38:16 JST


申し遅れましたが、ハセと申します。
ご回答ありがとうございます。

> ClassCastExceptionのスタックトレースも合わせて見せてもらえると
> 解決の糸口がつかめるかもしれません。

スタックトレースは次の通りです。
-----------
java.lang.ClassCastException: jp.co.xxxx.yyyy.entity.MUser
        at jp.co.xxxx.yyyy.logic.impl.LoginLogicImpl.getUserCustInfo(LoginLogicImpl.java:523)
        at jp.co.xxxx.yyyy.logic.impl.LoginLogicImpl.login(LoginLogicImpl.java:157)
        at jp.co.xxxx.yyyy.logic.impl.LoginLogicImpl$$EnhancedByS2AOP$$147bc1.$$login$$invokeSuperMethod$$(LoginLogicImpl$$EnhancedByS2AOP$$147bc1.java)
        at jp.co.xxxx.yyyy.logic.impl.LoginLogicImpl$$EnhancedByS2AOP$$147bc1$$MethodInvocation$$login1.proceed(MethodInvocationClassGenerator.java)
        at org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceInterceptor.java:73)
        at jp.co.xxxx.yyyy.logic.impl.LoginLogicImpl$$EnhancedByS2AOP$$147bc1$$MethodInvocation$$login1.proceed(MethodInvocationClassGenerator.java)
        at jp.co.xxxx.yyyy.logic.impl.LoginLogicImpl$$EnhancedByS2AOP$$147bc1.login(LoginLogicImpl$$EnhancedByS2AOP$$147bc1.java)
        at jp.co.xxxx.yyyy.web.login.LoginPage.doLogin(LoginPage.java:100)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:73)
        at org.seasar.framework.beans.impl.BeanDescImpl.invoke(BeanDescImpl.java:213)
        at org.seasar.teeda.extension.html.impl.HtmlComponentInvokerImpl.invoke(HtmlComponentInvokerImpl.java:159)
        at org.seasar.teeda.extension.html.impl.HtmlActionListener.processAction(HtmlActionListener.java:62)
        at javax.faces.component.UICommand.broadcast(UICommand.java:149)
        at org.seasar.teeda.extension.component.html.THtmlCommandButton.broadcast(THtmlCommandButton.java:73)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:192)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:117)
        at org.seasar.teeda.core.lifecycle.impl.InvokeApplicationPhase.executePhase(InvokeApplicationPhase.java:29)
        at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:55)
        at org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:94)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:92)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.myfaces.component.html.util.ExtensionsFilter.doFilter(ExtensionsFilter.java:122)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at jp.co.xxxx.yyyy.filter.ZzzzAuthFilter.doFilter(ZzzzAuthFilter.java:84)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at jp.co.xxxx.yyyy.filter.ZzzzLoginFilter.doFilter(ZzzzLoginFilter.java:88)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:69)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:64)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:775)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:704)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:897)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
        at java.lang.Thread.run(Unknown Source)
-----------

>
> それとHOT deployを使用しているかどうかも教えてください。

WindowsPCでの開発時にはHotDeployを有効にしていますが、Linuxサーバ上で動作させる際にはCoolDeploy設定で動作しております。
どちらの場合も、web.xmlにはHotDeployFilterを設定しております。

あと申し上げ忘れましたが、開発時にはEclipse(Galileo)を使用しております。
Eclipseで使用しているコンパイラは独自のものが用意されているようですが、この点での差異が今回の現象につながっていると想定されますがいかがでしょうか。
Eclipseが使用しているコンパイラを調査しましたところ、次の様な結果を得ることができました。
---------------------
C:\eclipse\plugins>java -classpath
org.eclipse.jdt.core_3.5.2.v_981_R35x.jar
org.eclipse.jdt.internal.compiler.batch.Main -version
Eclipse Compiler for Java (TM) 0.981_R35x, 3.5.2 release, Copyright
IBM Corp 2000, 2009. All rights reserved.
---------------------
Sun製とIBM製のコンパイラの差異なのでしょうか。

以上となります。宜しくお願いします。


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