[Seasar-user:6506] Re: 【S2Container】jarに固めると起動時に例外

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 3月 6日 (火) 02:29:44 JST


小林 (koichik) です.

Date:    Tue, 06 Mar 2007 02:02:03 +0900
From:    "T.N" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:6505] 【S2Container】jarに固めると起動時に例外

>  現在S2Container+KuinaDaoを使って
> Dos窓から起動するアプリを作っています。

コンソールアプリなのにリクエストスコープの
コンポーネントが存在することが問題ですね.

問題のコンポーネントはルートの dicon (通常は
app.dicon) に登録されているようですが,

>  jarに固めない状態では正常に起動するのですが、

ということは,SMART deploy あるいは AutoRegister で
自動登録されるコンポーネントがリクエストスコープに
なっているのかもしれませんね.
とりあえず,

> org.seasar.framework.container.deployer.ComponentDeployerFactory$DefaultProvider.createRequestComponentDeployer(ComponentDeployerFactory.java:95)

ここにブレークポイントを付けて,ブレークしたときの
ComponentDef からコンポーネントのクラスを確認しては
いかがでしょうか.

そのクラスが本当に必要なものなら singleton または
prototype になるようにすべきだし,不要なものなら
自動登録されないようにする必要があるかと思います.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>




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