2011-12-09 9 views
2

私はTomEE 4.0.0で簡単なJPAの例を試していると私は私が私のセッションBeanはステートレスにするとPersistenceContextTypeを離れる場合、それは大丈夫TomEE 4 JPAの問題

を作品

作業PersistenceContextType.EXTENDED取得することはできませんよ

@PersistenceContext(unitName = "xxx") 
private EntityManager entityManager; 

私は私のセッションBeanはステートレスとして維持し、それは私に完全に罰金やリットルであるデプロイするときにエラーを与えるこの

@PersistenceContext(unitName = "xxx", type = PersistenceContextType.EXTENDED)) 
private EntityManager entityManager; 

を使用しようとすると期待していた。私は@Statefulとして私のBeanを作るとき

はしかし、今、そしてまた、それは私にエラー

Managed ejbs are not capable of using EntityManagers with EXTENTED persistence. Convert your bean to a Stateful ejb or update the "java:comp/env/com.testwebservice.TestJPAService/entityManager" PersistenceContext reference to PersistenceContextType.TRANSACTION. 

を与えるいくつかのいずれかが助けてください、私はこの

+0

本当に変更が承認されましたか?クリーンなビルドは、変更が確実に収まるようにするのに役立ちます。あなたがまだそれに直面している場合は、スタックトレース全体を追加できますか? – stratwine

+0

Tomidはバージョン4.0ではありません。 1.0-beta1がリリースされ、OpenEJB 4.0-beta1リリースが使用されています – stratwine

答えて

0

@Stateful EXTENDED永続コンテキストのために本当に混乱していますTomEEビルドやJava EE TCKでさまざまな方法でテストされています。

これは完全に別のものです。私たちは私、あなたは明らかにミスをしたときに@Statelessの間違った組み合わせに注意してcom.testwebservice.TestJPAServiceが含まれており、それが@Statefulに変更された前に@Statelessだったという事実を与えられたJNDI名を見るとPersistenceContextType.EXTENDED

であなたを警告するために最善を尽くしますこの豆はまた違法である@WebServiceであると推測されます。 @Stateful豆は@WebService豆ではありません。この間違いを防ぐための適切なチェックがなければ、実際にはBeanが実際に2回展開されていると思います。 1度は@Stateful豆と1度はpojoとして@WebServiceです。 pojo Webサービスがエラーの原因となっています。

エラーの場合、私は明示的にcheck that conditionにJIRAを提出しました。

関連する問題