Adam BienがWhy stateful and local anti-facades are KISSを読みましたが、EntityManagerを使用してSFSBを使用してエンティティをクライアントのやりとり全体に保持することを提案しています。コメントで述べたように非シリアル化可能なEntityManagerでのステートフルセッションBeanパッシベーション?
Does'tこれは、クラスタ環境ではない失敗もSFSBは、コンテナによって不活性化されなければならない時はいつでも?
私が正しいとすれば、あなたはどのような解決策を提案しますか?アプリケーションのレイヤー数を最小限に抑えることで、SFSBを会話スコープにバインドしてJSFビューで直接参照すると便利だと考えました。
私は答えることができます#1:はい、拡張されたPCはパッシベーション(したがってフェイルオーバー)を防止します。私は#2に答える方法がわからない。あなたが解決しようとしている問題が私には分かりません。 –
パッシベーションについては、トランザクションスコープであるか拡張されているかは重要ですか?私のアプリケーションにEJB 3/CDI/JSFを使用するための基本的な設計を解明しようとしています。メモリ消費はおそらく問題ではないので、エンティティをマージする必要を回避するために「ステートフル」な設計になると思った。 – user953217
私は、Txまたは拡張タイプ**が関係すると思います。 * EJB 3.1 FR仕様* ** "4.2ステートフルセッションBeanの会話状態" **: "コンテナ**は、以下の条件が満たされていない限り、拡張永続コンテキストを持つステートフルセッションBeanを不活性化してはいけませんmet:1.永続コンテキスト内のすべてのエンティティは直列化可能です。2. EntityManagerは直列化可能です。 –