[Seasar-user:20942] Re: CoolDeploy時に発生した例外(InstantiationRuntimeException)について質問

Okamoto Tohru [E-MAIL ADDRESS DELETED]
2011年 8月 2日 (火) 09:40:52 JST


小林 (koichik) 様
皆様

岡元です

ご回答ありがとうございました。
提示した例外は発生しなくなりました。

別の例外が発生するようになったので、また解決できない場合にご相談させて
いただきたいとおもいます。




2011/8/1 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
>> 抽象クラスのサービスを生成しようとして 例外が発生しているようにみうけられる
>> 挙動がありました。
>
> Seasar2 ではインタフェースや抽象クラスに AOP を適用することで、
> インスタンス化できるようにするケースが多々あります。
> そのため、抽象クラスであってもコンポーネントとして自動登録することが
> できます。
>
> Service の場合、デフォルトではインタフェースも抽象クラスもコンポーネント
> として登録します。
> もしそれらを除外したいのであれば、creator.dicon で
>
>  <component class="org.seasar.framework.container.creator.ServiceCreator">
>    <property name="enableInterface">false</property>
>    <property name="enableAbstract">false</property>
>  </component>
>
> としてください。
>
> なお、COOL deploy の場合はコンテナの初期化時に全てのコンポーネントの
> 自動登録と初期化を行うので、インスタンス化できないコンポーネントがあると
> 初期化の時点でエラーが発生します。
> しかし、WARM deploy では必要になるまでコンポーネントの登録および初期化は
> 遅延されるので、設定に問題があっても表面化しないケースがあります。
>
>
> Date: Mon, 1 Aug 2011 18:20:07 +0900
> From: Okamoto Tohru <[E-MAIL ADDRESS DELETED]>
> Subject: [Seasar-user:20937] CoolDeploy時に発生した例外(InstantiationRuntimeException)について質問
>
>> 岡元と申します。
>>
>> お世話になります。
>>
>> 先日、ServiceのインスタンスをSingletonで生成するための質問をしました。
>> その節はありがとうございました。
>>
>> その後、開発を WarmDeployですすめていたのですが、CoolDeployにしようとしたところ
>> 抽象クラスのサービスを生成しようとして 例外が発生しているようにみうけられる
>> 挙動がありました。
>>
>> 環境は
>> Seasar Container 2.4.44
>> S2Wicket            1.4.17.1
>> Wicket                1.4.17
>>
>>
>> です。
>> 認識に違いがあれば ご指摘いただけると幸いです
>> また、回避策等アドバイスいただければ幸いです
>> なお、WarmDeploy時には問題なく動作しておりました。
>>
>> 少々長いですがスタックトレースです
>>
>>
>> org.seasar.framework.exception.InstantiationRuntimeException:
>> [ESSR0041] .AbstractXXXXXXXXXXXXSeriviceの作成に失敗しました。理由はjava.lang.InstantiationException
>>         at org.seasar.framework.util.ConstructorUtil.newInstance(ConstructorUtil.java:59)
>>         at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assembleDefault(AbstractConstructorAssembler.java:115)
>>         at org.seasar.framework.container.assembler.AutoConstructorAssembler.doAssemble(AutoConstructorAssembler.java:44)
>>         at org.seasar.framework.container.assembler.AbstractConstructorAssembler.assemble(AbstractConstructorAssembler.java:55)
>>         at org.seasar.framework.container.deployer.SingletonComponentDeployer.assemble(SingletonComponentDeployer.java:64)
>>         at org.seasar.framework.container.deployer.SingletonComponentDeployer.deploy(SingletonComponentDeployer.java:48)
>>         at org.seasar.framework.container.deployer.SingletonComponentDeployer.init(SingletonComponentDeployer.java:76)
>>         at org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:236)
>>         at org.seasar.framework.container.impl.S2ContainerImpl.init(S2ContainerImpl.java:563)
>>         at org.seasar.wicket.S2WicketFilter.init(S2WicketFilter.java:186)
>>         at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
>>         at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>         at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:713)
>>         at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
>>         at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
>>         at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:518)
>>         at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
>>         at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:115)
>>         at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>         at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>>         at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156)
>>         at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>         at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152)
>>         at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>         at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
>>         at org.mortbay.jetty.Server.doStart(Server.java:224)
>>         at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
>>         at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
>>         at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:454)
>>         at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:396)
>>         at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:210)
>>         at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184)
>>         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>>         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>>         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
>>         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
>>         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
>>         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
>>         at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
>>         at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
>>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
>>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
>>         at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
>>         at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
>>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>         at java.lang.reflect.Method.invoke(Method.java:616)
>>         at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
>>         at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
>>         at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
>>         at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>>
>>
>> --
>> ------------------------------------------------------
>> Tohru Okamoto [E-MAIL ADDRESS DELETED]
>> -------------------------------------------------------
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>
> --
> {
>  name: "Koichi Kobayashi",
>  mail: "[E-MAIL ADDRESS DELETED]",
>  blog: "http://d.hatena.ne.jp/koichik/",
>  twitter: "@koichik"
>  }
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



-- 
------------------------------------------------------
Tohru Okamoto [E-MAIL ADDRESS DELETED]
-------------------------------------------------------


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