2

次のパターンでスレッドセーフの問題やその他のコードの臭いはありますか?

コンテナ管理の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エンティティを処理するエンティティマネージャーでの競合状態/スレッドセーフでないアクセスを示唆している可能性があります。

4

0 に答える 0