[Seasar-user:7299] Re: COOL deployにするとOgnlRuntimeException

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 4月 15日 (日) 12:00:11 JST


小林 (koichik) です.

Date:    Sun, 15 Apr 2007 09:36:16 +0900
From:    加藤 潤一 <[E-MAIL ADDRESS DELETED]>
To:      "[E-MAIL ADDRESS DELETED]" <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:7297] Re: COOL deployにするとOgnlRuntimeException

> 環境は,S2.4.12,Teeda 1.0.6なので,pageCustomizerに以下ように設定してみたのですが,相変わらず同じ例外が出ています.
> ほかに何か確認すべき点などありますでしょうか?

・LoginInterceptor は SMART deploy の対象の場合,
  Interceptor の instance 属性は prototype が
  デフォルトですが,これを creator.dicon で
  singleton にしていないか.

・LoginInterceptor を dicon に定義している場合,
  instance 属性が singleton になっていないか.

・@Aspect 等で LoginInterceptor を指定していないか.

・LoginInterceptor が適用される対象が singleton に
  なっていないか.

現状で発生している例外のスタックトレースが [Seasar-user:7283] と
同じかどうか確認してください.
もし同じであれば,

> java.lang.NullPointerException: request is null.
>         at org.seasar.framework.util.OgnlUtil.getValue(OgnlUtil.java:62)
>         at org.seasar.framework.container.ognl.OgnlExpression.evaluate(OgnlExpression.java:61)
>         at org.seasar.framework.container.impl.ArgDefImpl.getValue(ArgDefImpl.java:50)
>         at org.seasar.framework.container.impl.AspectDefImpl.getAspect(AspectDefImpl.java:60)
>         at org.seasar.framework.container.util.AopProxyUtil.getAspects(AopProxyUtil.java:53)
>         at org.seasar.framework.container.util.AopProxyUtil.getConcreteClass(AopProxyUtil.java:43)
>         at org.seasar.framework.container.impl.ComponentDefImpl.getConcreteClass(ComponentDefImpl.java:142)
>         at org.seasar.framework.container.impl.ComponentDefImpl.init(ComponentDefImpl.java:298)

ヌルポが発生したときにブレークするようにして,
デバッガのスタックフレームで ComponentDefImpl の
インスタンスフィールド componentClass が何か
確認してください.
そのクラスに対するアスペクトの設定が loginAspectCustomizer で
行われていないのではないかと思います.
loginAspectCustomizer で useLookupAdapter プロパティが true に
なっていれば,上記スタックフレームの ArgDefImpl のインスタンス
フィールド expression は null になっているはずなので,この
現象にはならないはずなのですが...


-- 
<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 メーリングリストの案内