[Seasar-user:12320] Re: 【 Seasar 】【 Teeda 】クラスのコンポーネント定義を読み込まず java.lang.NullPointerException が発生してしまいます

kodama [E-MAIL ADDRESS DELETED]
2007年 12月 27日 (木) 11:18:10 JST


お世話になっております。こだまです。

SeasarとTeedaのバージョンは、
頂いたものにまだあげられていませんが、
今まで使用していたバージョンで、
log4jのプロパティを変えてログを取ったところ、
以下のようになりました。

***************************************************************
DEBUG 2007-12-27 11:01:03,140 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.hotdeploy.HotdeployBehavior
org.seasar.framework.log.Logger.log(Logger.java:231) HOT deploy
を開始します
DEBUG 2007-12-27 11:01:03,171 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.web.common.HeadPage[common_headPage])のコンポーネント定
義を登録します
DEBUG 2007-12-27 11:01:03,187 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.logic.impl.selectLogicImpl[selectLogic])のコンポーネン
ト定義を登録します
DEBUG 2007-12-27 11:01:03,234 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.dxo.PageLinkTblDxo[pageLinkTblDxo])のコンポーネント定義
を登録します
DEBUG 2007-12-27 11:01:03,234 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.web.common.PageLinkTblPage[common_pageLinkTblPage])のコ
ンポーネント定義を登録します
DEBUG 2007-12-27 11:01:03,250 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.logic.impl.ConfLogicImpl[ConfLogic])のコンポーネント定
義を登録します
DEBUG 2007-12-27 11:01:03,359 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.logic.impl.ProGetLogicImpl[profGetLogic])のコンポーネン
ト定義を登録します
DEBUG 2007-12-27 11:01:03,468 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.web.gnm.basicInputPage[basicInputPage])のコンポーネント
定義を登録します
DEBUG 2007-12-27 11:01:03,500 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.logic.common.impl.commonUtilLogicImpl[commonUtilLogic])
のコンポーネント定義を登録します
DEBUG 2007-12-27 11:01:03,562 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.logic.common.impl.QesLogicImpl[qesLogic])のコンポーネン
ト定義を登録します
DEBUG 2007-12-27 11:01:03,625 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.logic.gnm.impl.listLogicImpl[listLogic])のコンポーネン
ト定義を登録します
DEBUG 2007-12-27 11:01:03,671 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.dxo.gnm.DetailDxo[detailDxo])のコンポーネント定義を登録
します
DEBUG 2007-12-27 11:01:03,718 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.dxo.gnm.listDxo[listDxo])のコンポーネント定義を登録しま
す
DEBUG 2007-12-27 11:01:03,765 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.dxo.gnm.copyEntryDxo[copyEntryDxo])のコンポーネント定義
を登録します
DEBUG 2007-12-27 11:01:03,781 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.dxo.gnm.answerListDxo[answerListDxo])のコンポーネント定
義を登録します

//↓↓本来読み込むべきクラス定義が読み込まれない状態
DEBUG 2007-12-27 11:01:03,796 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.teeda.core.util.ServletErrorPageManagerImpl
org.seasar.framework.log.Logger.debug(Logger.java:105)
java.lang.NullPointerException
//↓↓例外が発生するので、システムエラー用ページへ遷移してしまう

DEBUG 2007-12-27 11:01:03,812 [[ACTIVE] ExecuteThread: '2' for queue:
'weblogic.kernel.Default (self-tuning)']
org.seasar.framework.container.util.S2ContainerUtil
org.seasar.framework.log.Logger.log(Logger.java:231) 
クラス(jp.co.test.web.error.ErrorPage[error_ErrorPage])のコンポーネント定
義を登録します
**********************************************************

S2ContainerUtilクラスから例外が発生しているようで、
ログを出力しているメソッドはputRegisterLogメソッドのみでしたので、
そこから例外を送出しているようです。
なお使用しているs2-frameworkバージョンは2.4.16です。

diconファイルの設定等がまずいのでしょうか?
ただ、一度次画面に遷移した後に、再度戻って別ウィンドウを出して閉じ、
次画面に遷移すると正常に動作します。
先日お渡ししたサンプルでイメージして頂くと、
qmodTest.html⇒qmodTest02.html⇒qmodTest.html
⇒testQmodPreview.html(変更リンクより別ウィンドウ)
⇒testQmodPreview.htmlを閉じる
⇒qmodTest02.html
の流れだと問題ないのですが、
qmodTest.html⇒testQmodPreview.html(変更リンクより別ウィンドウ)
⇒testQmodPreview.htmlを閉じる
⇒qmodTest02.html
だと上記のログのような現象が生じる状態です。

取り急ぎですが、よろしくお願い致します。


--- Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:

> 小林 (koichik) です.
> 
> Date:    Wed, 26 Dec 2007 11:12:27 +0900 (JST)
> From:    kodama <[E-MAIL ADDRESS DELETED]>
> To:       [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:12309] Re: 【 Seasar 】【 Teeda
> 】クラスのコンポーネント定義を読み込まず
> java.lang.NullPointerException が発生してしまいます
> 
> > お世話になっております。こだまです。
> > 
> > 以下、log4jの設定を変えてみたところ、
> > org.seasar.teeda.core.util.ServletErrorPageManagerImpl
> > クラスでjava.lang.NullPointerExceptionが発生していました。
> 
> ServletErrorPageManagerImpl で例外が発生している
> わけではなく,発生した例外のログを出力しているのが
> ServletErrorPageManagerImpl です.
> 
> しかし,ログの出し方がよくなかったので修正しました.
> これでスタックトレースが出ると思うので,以下で試して
> みてください.
> 
>
http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-core/1.0.12-SNAPSHOT/teeda-core-1.0.12-20071226.081234-15.jar
>
http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-ajax/1.0.12-SNAPSHOT/teeda-ajax-1.0.12-20071226.081234-15.jar
>
http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-extension/1.0.12-SNAPSHOT/teeda-extension-1.0.12-20071226.081234-15.jar
>
http://maven.seasar.org/maven2-snapshot/org/seasar/teeda/teeda-tiger/1.0.12-SNAPSHOT/teeda-tiger-1.0.12-20071207.073015-4.jar
> 


--------------------------------------
Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar
http://pr.mail.yahoo.co.jp/toolbar/


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