@Singleton EJB は次のようになります。
@Singleton
public class MySingleton {
@PersistenceContext
private EntityManager em;
...
@Lock(LockType.READ)
public void doPersistanceAction() {
}
}
したがって、MySingleton#doPersistanceAction() のすべての呼び出し元は、EntityManager の同じインスタンスを同時に使用します。また、エンティティが添付された永続化コンテキストは、呼び出し元間で共有されます。また、ある呼び出し元によって開始されたトランザクションは、別の呼び出し元によってコミットされる場合があります。ejb コンテナーがそのような状況を処理するかどうか。