[Seasar-user:8157] Seasar 2 起動時にDB接続について
松崎美姫
[E-MAIL ADDRESS DELETED]
2007年 6月 7日 (木) 15:00:02 JST
お世話になっております。
松崎美姫です。
Seasar 2 の起動時の処理について質問をさせていただきます。
起動時に、特定のプログラムを起動させてDBの値を取得し、
Contextに保持しようと考えて思っております。
メーリングリストとの過去ログを検索させていただくと
同時に、ドキュメントも読ませていただきました。
起動時に、特定のプログラムを起動させるには、
dicon ファイルを用意し、app.dicon に追加すればよいということだったので、
早速テストをさせていただきました。
起動時に、正常に起動することを確認し、今度は、
データベースを情報を取得しようと思い、プロパティにDaoを
定義し、autoBindingされるかどうかを確認したところ、
Bindされずに、下記のログが出力されました。
dao がBindされていないので、結果が、NullPointerExceptionに
なってしまっていると思うのですが、なぜ、Bindされないか分りません。
ドキュメントもおって確認させていただこうと思いますが、
ご教授いただけると幸いです。
質問ばかり、申し訳ございませんが、よろしくお願いいたします。
松崎美姫 (miki ♪)
Seasar 2.4.13
Teeeda 1.0.7
S2Dao 1.43
■ トレースログ =========================================
WARN 2007-06-07 14:44:27,203 [main]
net.miki.service.ContextSaveのプロパティ(testDao)が見つからないので設定をスキップします
2007/06/07 14:44:27 org.apache.catalina.core.ApplicationContext log
致命的: StandardWrapper.Throwable
java.lang.NullPointerException
at net.miki.service.ContextSave.init(ContextSave.java:19)
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:49)
■ app.dicon ==========================================
<components>
<include path="convention.dicon"/>
<include path="aop.dicon"/>
<include path="app_aop.dicon"/>
<include path="teedaExtension.dicon"/>
<include path="dao.dicon"/>
<include path="dxo.dicon"/>
<include path="start.dicon"/>
</components>
■ start.dicon ==========================================
<components>
<component class="net.miki.service.ContextSave">
<initMethod name="init"/>
</component>
</components>
■ ContextSave =========================================
package net.miki.service;
import net.miki.dao.TestDao;
public class ContextSave {
TestDao testDao;
public TestDao getTestDao() {
return testDao;
}
public void setTestDao(TestDao testDao) {
this.testDao = testDao;
}
public void init() {
int cnt = getTestDao().selectDx();
}
}
Seasar-user メーリングリストの案内