最終的にHttpSessionにバインドされるスコープに属するすべてのCDIマネージドBeanは、シリアライズ可能である必要があります。つまり、すべての属性をシリアライズ可能にする必要があります。これはバグだと思われますが、EntityManagerはありません(hereとhere(なぜ閉じているのか分かりません))。JPAはHttpSessionで管理されているCDIスコープでは使用できませんか?
これは、スペックを遵守したい場合は、SessionやConversationなどのCDIスコープからJPAを使用できないことを意味します。
Java EEが使用不可能に近いと思われますか?
ありがとうございます。私はEJB 3.1仕様を見ており、次のように述べています。 'コンテナは、以下の条件が満たされない限り、拡張永続コンテキストを持つステートフルセッションBeanを不動態化してはいけません。1.永続コンテキスト内のすべてのエンティティが直列化可能です。 2. EntityManagerはシリアライズ可能です。コンテナは、これらの要件を満たしていないため、ステートフルセッションBeanインスタンスを破棄することはできません。 正しく理解すると、パッシベーションできないSFSBはメモリ内に残る必要があります。 Session Scoped CDI Beanの場合はどのように見えますか? –
@Antoine、情報ありがとうございますが、Seam 3がExtended Persistence Contextのシリアル化を処理する方法や、いくつかのリソースを教えてくれますか? – user953217
私はこのメカニズムをSeam 3でテストしませんでしたが、Seam 2ではこれまでいくつかのドキュメントを確認できました:http://docs.jboss.org/seam/latest/reference/en-US/html/ClusteringAndEJBPassivation .html Seam 2 pojoは同じ機能を持っています。 EJBとシンプルCDI BeanのSeam 3永続性に移植されていることを確認し、あなたの投稿を続けます。 –