[Seasar-user:17954] Re: Teeda、DBFluteの初心者です。原因不明のエラーがでて困っています

kubo [E-MAIL ADDRESS DELETED]
2009年 7月 9日 (木) 10:18:27 JST


久保(jflute)です。

ご報告ありがとうございます。
やはり、HotDeployのときに発生する現象ですね。

根本解決ではありませんが、
dbflute-0.8.8.8をご利用とのことですが、
dbflute-0.9.x(最新は0.9.5.1)にアップグレードする
ことにより発生しなくなる可能性はあります。
StackTraceを見るに、OutsideSqlBasicExecutorと
ProcedurePmbの関係が怪しい感じなので、
dbflute-0.9.xであればそれらは全て最初からJARファイル
に入っているクラスなので、こういった現象は(恐らく)
発生しないんじゃないかと。もしアップグレードできる
ようであれば、それがお奨めです。
(この件とは違う面でもメリットありますし)

あと、convention.diconでNamingConventionImplの
addIgnorePackageNameにDBFluteのallcommonパッケージを
指定することで回避することもできるかもしれません。



2009/7/9 osaka jip <[E-MAIL ADDRESS DELETED]>:
> 早速のお返事ありがとうございます。
> レスが遅くなり申し訳ありません。
> 「CoolDeploy」ではエラーなく動作しました。
> ストプロも正しく実行されています。
>
>
> 2009/07/08 18:42 kubo <[E-MAIL ADDRESS DELETED]>:
>>
>> 久保(jflute)です。
>>
>> java.lang.LinkageErrorが出ているようですね。
>> 試しに、
>> 「JUnitからの実行で動くかどうか?」
>> もしくは
>> 「CoolDeployにて動くかどうか?」
>> 試してみてください。
>>
>> 2009/7/8 osaka jip <[E-MAIL ADDRESS DELETED]>:
>> > はじめまして、Seasar2初心者です。
>> > Teeda、DBFluteを使用してシステムを構築しようと始めたところですが、
>> > 以下のような原因不明のエラーが解決できなくて困っております。
>> > 以下より原因を予想することは可能でしょうか。
>> > 記述方法が間違っているのであれば、ご指摘頂けないでしょうか。
>> > お願いします。
>> > 使用バージョン:
>> > JDK6.0
>> > Tomcat6.0
>> > Eclipse3.4 teeda-ajax-1.0.13
>> > teeda-core-1.0.13
>> > teeda-tiger-1.0.13
>> > s2-dao-1.0.49
>> > s2-framework-2.4.38
>> > dbflute-0.8.8.8
>> > 上記のバージョンを使用し、Oracle11gのストアドプロシージャを実行しようと
>> > 「jfute」さんの日記サイトを参考にそのままコーディングしていますが、エラーとなり実行されません。
>> > http://d.hatena.ne.jp/jflute/20080925/1222341341
>> >
>> > ページソース
>> >
>> > ----------------------------------------------------------------------------------------------------------
>> > public class HogePage { public HogeTableBhv hogeTableBhv; public void
>> > prerender(){ PrcSessionSetPmb pmb = new PrcSessionSetPmb();
>> > pmb.setInsessionId("10"); pmb.setInaaaNo(new BigDecimal("1234"));
>> > hogeTableBhv.outsideSql().call(pmb); } }
>> >
>> > ----------------------------------------------------------------------------------------------------------
>> > エラー(コンソール)
>> >
>> > ----------------------------------------------------------------------------------------------------------
>> > 2009-07-08 18:22:14,203 [http-8080-1] DEBUG
>> > org.seasar.framework.container.hotdeploy.HotdeployBehavior - HOT
>> > deployを開始します 2009-07-08 18:22:14,234 [http-8080-1] WARN
>> > org.seasar.framework.container.hotdeploy.HotdeployClassLoader - HOT
>> >
>> > deploy対象クラス(hoge.dbflute.exbhv.HogeTableBhv)が非対象クラスから参照されて通常のクラスローダにロードされています。
>> > 2009-07-08 18:22:14,234 [http-8080-1] DEBUG
>> > org.seasar.framework.container.util.S2ContainerUtil -
>> > クラス(hoge.web.top.HogePage[top_HogePage])のコンポーネント定義を登録します 2009-07-08
>> > 18:22:14,250 [http-8080-1] DEBUG
>> > org.seasar.framework.aop.interceptors.TraceInterceptor - BEGIN
>> > hoge.web.top.HogePage#prerender() 2009-07-08 18:22:14,250 [http-8080-1]
>> > DEBUG org.seasar.extension.jta.TransactionImpl -
>> > トランザクションを開始しました。tx=[FormatId=4360, GlobalId=1247040302937/31, BranchId=]
>> > 2009-07-08 18:22:14,250 [http-8080-1] WARN
>> > org.seasar.framework.container.hotdeploy.HotdeployClassLoader - HOT
>> >
>> > deploy対象クラス(hoge.dbflute.allcommon.cbean.outsidesql.executor.OutsideSqlBasicExecutor)が非対象クラスから参照されて通常のクラスローダにロードされています。
>> > 2009-07-08 18:22:14,250 [http-8080-1] DEBUG
>> > org.seasar.extension.jta.TransactionImpl -
>> > トランザクションをロールバックしました。tx=[FormatId=4360, GlobalId=1247040302937/31,
>> > BranchId=]
>> > 2009-07-08 18:22:14,265 [http-8080-1] DEBUG
>> > org.seasar.framework.aop.interceptors.TraceInterceptor - END
>> > hoge.web.top.HogePage#prerender() Throwable:java.lang.LinkageError:
>> > loader
>> > constraint violation: when resolving method
>> >
>> > "hoge.dbflute.allcommon.cbean.outsidesql.executor.OutsideSqlBasicExecutor.call(Lhoge/dbflute/allcommon/cbean/outsidesql/ProcedurePmb;)V"
>> > the class loader (instance of
>> > org/seasar/framework/container/hotdeploy/HotdeployClassLoader) of the
>> > current class, hoge/web/top/HogePage, and the class loader (instance of
>> > org/apache/catalina/loader/WebappClassLoader) for resolved class,
>> >
>> > hoge/dbflute/allcommon/cbean/outsidesql/executor/OutsideSqlBasicExecutor,
>> > have different Class objects for the type
>> > hoge/dbflute/allcommon/cbean/outsidesql/ProcedurePmb used in the
>> > signature
>> > 2009-07-08 18:22:14,265 [http-8080-1] DEBUG
>> > org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl -
>> > loader
>> > constraint violation: when resolving method
>> >
>> > "hoge.dbflute.allcommon.cbean.outsidesql.executor.OutsideSqlBasicExecutor.call(Lhoge/dbflute/allcommon/cbean/outsidesql/ProcedurePmb;)V"
>> > the class loader (instance of
>> > org/seasar/framework/container/hotdeploy/HotdeployClassLoader) of the
>> > current class, hoge/web/top/HogePage, and the class loader (instance of
>> > org/apache/catalina/loader/WebappClassLoader) for resolved class,
>> >
>> > hoge/dbflute/allcommon/cbean/outsidesql/executor/OutsideSqlBasicExecutor,
>> > have different Class objects for the type
>> > hoge/dbflute/allcommon/cbean/outsidesql/ProcedurePmb used in the
>> > signature
>> > java.lang.LinkageError: loader constraint violation: when resolving
>> > method
>> >
>> > "hoge.dbflute.allcommon.cbean.outsidesql.executor.OutsideSqlBasicExecutor.call(Lhoge/dbflute/allcommon/cbean/outsidesql/ProcedurePmb;)V"
>> > the class loader (instance of
>> > org/seasar/framework/container/hotdeploy/HotdeployClassLoader) of the
>> > current class, hoge/web/top/HogePage, and the class loader (instance of
>> > org/apache/catalina/loader/WebappClassLoader) for resolved class,
>> >
>> > hoge/dbflute/allcommon/cbean/outsidesql/executor/OutsideSqlBasicExecutor,
>> > have different Class objects for the type
>> > hoge/dbflute/allcommon/cbean/outsidesql/ProcedurePmb used in the
>> > signature
>> > at hoge.web.top.HogePage.prerender(HogePage.java:113) at
>> >
>> > hoge.web.top.HogePage$$EnhancedByS2AOP$$4b4efd.$$prerender$$invokeSuperMethod$$(HogePage$$EnhancedByS2AOP$$4b4efd.java)
>> > at
>> >
>> > hoge.web.top.HogePage$$EnhancedByS2AOP$$4b4efd$$MethodInvocation$$prerender0.proceed(MethodInvocationClassGenerator.java)
>> > at
>> >
>> > org.seasar.extension.tx.DefaultTransactionCallback.execute(DefaultTransactionCallback.java:58)
>> > at
>> >
>> > org.seasar.extension.tx.adapter.JTATransactionManagerAdapter.required(JTATransactionManagerAdapter.java:65)
>> > at
>> >
>> > org.seasar.extension.tx.RequiredInterceptor.invoke(RequiredInterceptor.java:41)
>> > at
>> >
>> > hoge.web.top.HogePage$$EnhancedByS2AOP$$4b4efd$$MethodInvocation$$prerender0.proceed(MethodInvocationClassGenerator.java)
>> > at
>> >
>> > org.seasar.framework.aop.interceptors.ThrowsInterceptor.invoke(ThrowsInterceptor.java:79)
>> > at
>> >
>> > hoge.web.top.HogePage$$EnhancedByS2AOP$$4b4efd$$MethodInvocation$$prerender0.proceed(MethodInvocationClassGenerator.java)
>> > at
>> >
>> > org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceInterceptor.java:73)
>> > at
>> >
>> > hoge.web.top.HogePage$$EnhancedByS2AOP$$4b4efd$$MethodInvocation$$prerender0.proceed(MethodInvocationClassGenerator.java)
>> > at
>> >
>> > hoge.web.top.HogePage$$EnhancedByS2AOP$$4b4efd.prerender(HogePage$$EnhancedByS2AOP$$4b4efd.java)
>> > 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:597) at
>> > org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:96) at
>> >
>> > org.seasar.framework.beans.impl.BeanDescImpl.invoke(BeanDescImpl.java:218)
>> > at
>> >
>> > org.seasar.teeda.extension.html.impl.HtmlComponentInvokerImpl.invoke(HtmlComponentInvokerImpl.java:163)
>> > at
>> >
>> > org.seasar.teeda.extension.html.impl.HtmlComponentInvokerImpl.invokePrerender(HtmlComponentInvokerImpl.java:138)
>> > at
>> >
>> > org.seasar.teeda.extension.render.TViewRootRenderer.invoke(TViewRootRenderer.java:101)
>> > at
>> >
>> > org.seasar.teeda.extension.render.TViewRootRenderer.invokeAll(TViewRootRenderer.java:81)
>> > at
>> >
>> > org.seasar.teeda.extension.render.TViewRootRenderer.encodeBegin(TViewRootRenderer.java:61)
>> > at
>> >
>> > javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:330)
>> > at javax.faces.component.UIViewRoot.encodeBegin(UIViewRoot.java:100) at
>> > javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:247)
>> > at
>> > javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:184) at
>> > org.seasar.teeda.extension.taglib.TViewTag.doStartTag(TViewTag.java:98)
>> > at
>> >
>> > org.seasar.teeda.extension.html.processor.ElementProcessorImpl.processTag(ElementProcessorImpl.java:145)
>> > at
>> >
>> > org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:138)
>> > at
>> >
>> > org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:119)
>> > at
>> >
>> > org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:157)
>> > at
>> >
>> > org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:143)
>> > at
>> >
>> > org.seasar.teeda.core.lifecycle.impl.RenderResponsePhase.executePhase(RenderResponsePhase.java:39)
>> > at
>> >
>> > org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
>> > at
>> >
>> > org.seasar.teeda.core.lifecycle.LifecycleImpl.render(LifecycleImpl.java:131)
>> > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:101) at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> > at
>> >
>> > org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> > at
>> >
>> > org.seasar.framework.container.hotdeploy.HotdeployFilter.doHotdeployFilter(HotdeployFilter.java:99)
>> > at
>> >
>> > org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:67)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> > at
>> >
>> > org.seasar.teeda.extension.filter.MultipartFormDataFilter.doFilter(MultipartFormDataFilter.java:83)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> > at
>> >
>> > org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>> > at
>> >
>> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> > at
>> >
>> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>> > at
>> >
>> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>> > at
>> >
>> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>> > at
>> >
>> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> > at
>> >
>> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> > at
>> >
>> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>> > at
>> >
>> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>> > at
>> >
>> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>> > at
>> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>> > at java.lang.Thread.run(Thread.java:619)
>> >
>> > ----------------------------------------------------------------------------------------------------------
>> >
>> > _______________________________________________
>> > Seasar-user mailing list
>> > [E-MAIL ADDRESS DELETED]
>> > https://ml.seasar.org/mailman/listinfo/seasar-user
>> >
>> >
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>


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