現在、エンタープライズ アプリケーションのデプロイに JBoss 5.1.0 GA ビルドを使用しています。EJBLocalHome remove() API の動作に関する奇妙な問題に直面しています。「Emp」というエンティティ Bean があります。「emp1」などのエンティティ Bean を削除する必要があります。したがって、「Emp」EntityBean#ejbRemove() API を呼び出してデータベースから Bean を削除する EJBLocalObject remove() を呼び出します。remove() -> ejbRemove()
Jboss AS の場合、remove() API を呼び出すと、最初に ejbStore() API が呼び出され、次に同じトランザクションで ejbRemove() API が呼び出されることがわかりました。remove() API の間、エンティティ Bean は変更されません。したがって、ejbStore() を呼び出すべきではありません。しかし、そうです。したがって、シーケンスは次のとおりです。- remove() -> ejbStore() -> ejbRemove()
アプリケーションを Websphere AS にデプロイしました。remove() を呼び出したときの呼び出しシーケンスは、 remove() -> ejbRemove() でした。この場合、ejbStore() は呼び出されませんでした。
JBoss AS の場合になぜそのような動作が発生するのか誰にもわかりますか? 何も更新されておらず、動作は Webspehere に似ているはずなので、 ejbStore() を呼び出すべきではないと思います。
-アジット