次のパターンでスレッドセーフの問題やその他のコードの臭いはありますか?
コンテナ管理のEntityManagerが注入されたステートレスEJB3Bean:
@Stateless
public class ServiceA implements IServiceA.ILocal {
@PersistenceContext(unitName="foo")
private EntityManager em
...
..次に、ビュースコープのJSF管理のバッキングBeanに上記のサービスBeanが注入されます。
@ManagedBean
@ViewScoped
public class PageFooController {
@EJB
private IServiceA.ILocal serviceA;
....
デプロイメント環境は、デフォルトのHibernateJPA実装を備えたJBoss7です。
私が尋ねている理由は、数百人のユーザーをシミュレートするストレステストで、JPAエンティティの値(データベースに存在しない値)が壊れていることに気付くためです。これは、JPAエンティティを処理するエンティティマネージャーでの競合状態/スレッドセーフでないアクセスを示唆している可能性があります。