| Issue 178: | @RequiredTxをつけると起動時にNullPointerExceptionが発生する | |
| 1 person starred this issue and may be notified of changes. | Back to list |
lucy-extを使いトランザクションをかけようとして、 メソッドに@RequiredTxをつけると起動時にNullPointerExceptionが発生します。 エラー内容およびlucy-config.xml,web.xmlは以下のURLに記載しています。 http://d.hatena.ne.jp/tan_go238/20090119 宜しくお願いします。
Jan 19, 2009
Project Member
#1
shinpei.ohtani@gmail.com
Status:
Accepted
Jan 19, 2009
Annotationのコンポジションをする場合に、配列が戻り値のメソッドがあると 上手くいってないので、この点を修正します.
Status:
Started
Jan 19, 2009
Lucyの問題でしたので、Lucyを修正しました。 r2922で対処しました。 言い忘れていますが、この機能は現状javassistを使っていないと 利用することが出来ません。ご了承ください。
Status:
Fixed
Jan 20, 2009
http://d.hatena.ne.jp/shot6/20090120 から早速ダウンロードして 試してみたのですが、前回と同様のNullPointerExceptionが発生しました。 調べたところ、ConfigBinderFactory#createBehavior()で、最後に return ConstructorUtil.newInstance(c, args); でインスタンスを生成して返すところで変数c が null のため発生したようです。 原因はConstructorDescImpl#getSuitableConstructor()の ClassUtil.isAssignableFromのIF文で、型が一致しないため、 nullを返しているようです。 比較している型を調べたところ、 argsClassはimpl.MethodDescImpl、paramTypeはClassDescで、 @RequiredTxをメソッドにつけているのが原因だと予想して、 @RequiredTxをクラスにつけたところ、正常に動作しました。 私の環境では、 ・@RequiredTxをクラスにつけると正常に動作する。 ・@RequiredTxをメソッドにつけるとNullPointerExceptionが発生する。 設定などもれている箇所がありましたらお教え頂けませんでしょうか? javassistはjavassist-3.4.ga.jarを使用しています。 宜しくお願いします。
Jan 20, 2009
@RequiredTxはクラスに対してつけるのですね。 使い方を間違っていましたのでFixにさせてください。 宜しくお願いします。
Jan 21, 2009
了解しました。 コメントありがとうございました。 |