[jboss-cvs] jboss-seam/src/main/org/jboss/seam/persistence ...
Gavin King
gavin.king at jboss.com
Fri Jul 6 15:42:55 EDT 2007
User: gavin
Date: 07/07/06 15:42:55
Modified: src/main/org/jboss/seam/persistence
ManagedHibernateSession.java
ManagedPersistenceContext.java
Log:
JBSEAM-1614
Revision Changes Path
1.14 +13 -6 jboss-seam/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ManagedHibernateSession.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- ManagedHibernateSession.java 24 Jun 2007 23:57:18 -0000 1.13
+++ ManagedHibernateSession.java 6 Jul 2007 19:42:55 -0000 1.14
@@ -1,4 +1,4 @@
-//$Id: ManagedHibernateSession.java,v 1.13 2007/06/24 23:57:18 gavin Exp $
+//$Id: ManagedHibernateSession.java,v 1.14 2007/07/06 19:42:55 gavin Exp $
package org.jboss.seam.persistence;
import java.io.Serializable;
@@ -111,11 +111,20 @@
{
if (session==null) initSession();
- //join the transaction
- if ( !synchronizationRegistered && !Lifecycle.isDestroying() && Transaction.instance().isActive() )
+ if ( !synchronizationRegistered && !Lifecycle.isDestroying() )
+ {
+ joinTransaction();
+ }
+
+ return session;
+ }
+
+ private void joinTransaction() throws SystemException
{
- session.isOpen();
UserTransaction transaction = Transaction.instance();
+ if ( transaction.isActive() )
+ {
+ session.isOpen();
try
{
transaction.registerSynchronization(this);
@@ -126,8 +135,6 @@
}
synchronizationRegistered = true;
}
-
- return session;
}
//we can't use @PrePassivate because it is intercept NEVER
1.11 +15 -7 jboss-seam/src/main/org/jboss/seam/persistence/ManagedPersistenceContext.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ManagedPersistenceContext.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/persistence/ManagedPersistenceContext.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- ManagedPersistenceContext.java 24 Jun 2007 23:57:18 -0000 1.10
+++ ManagedPersistenceContext.java 6 Jul 2007 19:42:55 -0000 1.11
@@ -1,4 +1,4 @@
-//$Id: ManagedPersistenceContext.java,v 1.10 2007/06/24 23:57:18 gavin Exp $
+//$Id: ManagedPersistenceContext.java,v 1.11 2007/07/06 19:42:55 gavin Exp $
package org.jboss.seam.persistence;
import java.io.Serializable;
@@ -106,11 +106,20 @@
{
if (entityManager==null) initEntityManager();
- //join the transaction
- if ( !synchronizationRegistered && !Lifecycle.isDestroying() && Transaction.instance().isActive() )
+ if ( !synchronizationRegistered && !Lifecycle.isDestroying() )
+ {
+ joinTransaction();
+ }
+
+ return entityManager;
+ }
+
+ private void joinTransaction() throws SystemException
{
- entityManager.joinTransaction();
UserTransaction transaction = Transaction.instance();
+ if ( transaction.isActive() )
+ {
+ transaction.enlist(entityManager);
try
{
transaction.registerSynchronization(this);
@@ -121,8 +130,6 @@
synchronizationRegistered = PersistenceProvider.instance().registerSynchronization(this, entityManager);
}
}
-
- return entityManager;
}
//we can't use @PrePassivate because it is intercept NEVER
@@ -311,6 +318,7 @@
break;
}
}
+
@Override
public String toString()
{
More information about the jboss-cvs-commits
mailing list