[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...
Gavin King
gavin.king at jboss.com
Wed Jul 12 20:58:55 EDT 2006
User: gavin
Date: 06/07/12 20:58:55
Modified: src/main/org/jboss/seam/core
ManagedPersistenceContext.java
ManagedHibernateSession.java
Log:
control flushing from @Begin
Revision Changes Path
1.16 +16 -2 jboss-seam/src/main/org/jboss/seam/core/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/core/ManagedPersistenceContext.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- ManagedPersistenceContext.java 17 Jun 2006 01:35:11 -0000 1.15
+++ ManagedPersistenceContext.java 13 Jul 2006 00:58:55 -0000 1.16
@@ -1,4 +1,4 @@
-//$Id: ManagedPersistenceContext.java,v 1.15 2006/06/17 01:35:11 gavin Exp $
+//$Id: ManagedPersistenceContext.java,v 1.16 2006/07/13 00:58:55 gavin Exp $
package org.jboss.seam.core;
import static org.jboss.seam.InterceptionType.NEVER;
@@ -8,6 +8,7 @@
import javax.naming.NamingException;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
+import javax.persistence.FlushModeType;
import javax.transaction.SystemException;
import org.apache.commons.logging.Log;
@@ -21,6 +22,7 @@
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.Unwrap;
import org.jboss.seam.util.Naming;
+import org.jboss.seam.util.Persistence;
import org.jboss.seam.util.Transactions;
/**
@@ -60,6 +62,18 @@
throw new IllegalArgumentException("EntityManagerFactory not found", ne);
}
+ switch ( Conversation.instance().getFlushMode() )
+ {
+ case AUTO:
+ break;
+ case MANUAL:
+ Persistence.setFlushModeManual(entityManager);
+ break;
+ case COMMIT:
+ entityManager.setFlushMode(FlushModeType.COMMIT);
+ break;
+ }
+
if ( log.isDebugEnabled() )
{
log.debug("created seam managed persistence context for persistence unit: "+ persistenceUnitJndiName);
1.17 +9 -1 jboss-seam/src/main/org/jboss/seam/core/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/core/ManagedHibernateSession.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- ManagedHibernateSession.java 17 Jun 2006 01:35:11 -0000 1.16
+++ ManagedHibernateSession.java 13 Jul 2006 00:58:55 -0000 1.17
@@ -1,4 +1,4 @@
-//$Id: ManagedHibernateSession.java,v 1.16 2006/06/17 01:35:11 gavin Exp $
+//$Id: ManagedHibernateSession.java,v 1.17 2006/07/13 00:58:55 gavin Exp $
package org.jboss.seam.core;
import static org.jboss.seam.InterceptionType.NEVER;
@@ -9,6 +9,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.hibernate.FlushMode;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.jboss.seam.Component;
@@ -60,6 +61,13 @@
throw new IllegalArgumentException("SessionFactory not found", ne);
}
+ switch ( Conversation.instance().getFlushMode() )
+ {
+ case AUTO: break;
+ case MANUAL: session.setFlushMode(FlushMode.NEVER); break;
+ case COMMIT: session.setFlushMode(FlushMode.COMMIT); break;
+ }
+
if ( log.isDebugEnabled() )
{
log.debug("created seam managed session for session factory: "+ sessionFactoryJndiName);
More information about the jboss-cvs-commits
mailing list