ご存じのように、トランザクション管理は横断的な関心事です。だから、あなたのコードは、それらの懸念事項が第一の関心事ではないモジュールで散らばっているのは良い考えではありません。
EJB以外の環境でJTA UserTransactionを使用している場合は、JTAを使用できます(Apache TomcatはJTAをサポートしていません)。
1度ルール
シームトランザクション管理は、すべてのJSFリクエスト(シーム2.0+)のデフォルトで有効になっています。
私は取引Seamのによって管理としてシームトランザクション管理が良く聞こえると思います。これはSeamがbeginとcommitを呼び出すことの背後で心配することを意味します。 POJO + JTA avaliable Seamによって使用
トランザクションマネージャを(Apache TomcatはJTAをサポートしていません):org.jboss.seam SeamはSeamトランザクションマネージャ
1°シナリオを使用して、トランザクションマネージャの役割を果たしています.transaction.UTtransaction利用可能JTA(JBossのサポートJTA)
あなたはJPAのEntityManagerまたはHibernateのSessionを使用している場合は、それらを登録する必要がありますが、Seamが管理することができたときに非EJB環境(戦争)ではデフォルトで有効になっ
トランザクション境界
はその後ScopeTypeにスコープ@Inを(使用してのEntityManager(のEntityManager)またはセッション(休止状態)を注入(@Inを使って注入)シーム管理の永続コンテキストに
をセットアップする方法9.3. Seam-managed persistence contextsを参照してください。CONVERSATION)舞台裏
@Name("businessService")
public class BusinessServiceImpl implementes BusinessService {
@In
private EntityManager entityManager;
public void doSomething() {
// You do not need to call entityManager().getTransaction().begin();
// because Seam Transaction Manager takes care of it
// By using proxies
// Therefore, if you call entityManager().getTransaction().begin()
// You will get IllegalStateException
// Some EntityManager operations persist, find etc
// You do not need to call entityManager().getTransaction().commit();
// because Seam Transaction Manager takes care of it
// By using proxies
}
}
に、SeamトランザクションマネージャはjoinTransaction方法
2°シナリオ呼び出すことにより、アクティブなJTAのUserTransactionでのEntityManager(JPA)またはセッション(休止状態)を参加させる:POJO + RESOURCE_LOCALをシーム(JPA)によって使用される(どちらか休止状態またはJPA)の取引
トランザクションマネージャ:org.jboss.seam.transaction.EntityTransaction
TRANSA ction Managerは、シーム(休止状態)で使用される:org.jboss.seam.transaction.HibernateTransaction
は(@Inを使って注入)シーム管理の永続コンテキスト舞台裏
をセットアップする方法9.3. Seam-managed persistence contextsに、Seamトランザクションを参照してください。 EJB Seamによって使用
トランザクションマネージャ:org.jboss.seam.transaction.CMTTransaction
01 Managerが開始し、使用してプロキシ
3°シナリオによって基礎となる技術にコミット呼び出しの面倒を見ます
EJB環境では、デフォルトで有効になっています。その場合、Seamはコンテナ管理のトランザクションを制御しません。
に関して、
は@Transactional – Bozho
org.jboss.seam.annotations.Transactional – Damo