パスワードを忘れた? アカウント作成
431255 journal

hatokuの日記: jbossのばぐ

日記 by hatoku
jboss2.4.3で、entitybeanに対してremoveメソッドを呼んだ場合、
なぜかbeanのキャッシュにobjectが残存していて、さいど同じprimarykeyで
create後removeすると、remove内でDBへのconnectionを解放している
場合にSQLExceptionが発生する。やはりjbossのエラーだそうな。
一番最初のremoveでconnection.close()を呼んだままになってるから
当然。SunのEJB仕様によれば、ejbRemoveとejbPassivateはともに
beanをプール状態に移行するもので(つまり同じ動作)かつejbRemoveでは
ストレージに登録された実データを削除することになっている(SQLのDELETE文やね)。
で、Jbossのcommit-optionをCにした場合、beanのキッャシュを保持しない
ので、外部のトランザクションで囲まない場合は常にejbLoadかejbActivateが
走る(ハズ)。
しかしJboss2.4.3の場合、ちとこの二つの動作が異なる。
2.4.4と3.0で対応かぁ。

もちっとでソースから不具合箇所を特定出来そうなんだが、method.invoke()を
多用してるソースはむちゃくちゃ追いづらい(--;;;;;;

しかし、ソース上特定できてもなぁ、英語できないからなあ。でもこれLGPLだから
なおしたら提供しないとなぁ。翻訳ソフトにお願いしちゃうというのもなぁ。
悩むのお。

早く2.4.4リリースしてくんないかなぁ(笑)
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...