You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by da...@apache.org on 2007/04/25 03:59:22 UTC

svn commit: r532165 - in /incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core: cmp/jpa/JpaCmpEngine.java transaction/TransactionPolicy.java

Author: dain
Date: Tue Apr 24 18:59:20 2007
New Revision: 532165

URL: http://svn.apache.org/viewvc?view=rev&rev=532165
Log:
Acquire the entity manager inside of the transaction

Modified:
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/jpa/JpaCmpEngine.java
    incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionPolicy.java

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/jpa/JpaCmpEngine.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/jpa/JpaCmpEngine.java?view=diff&rev=532165&r1=532164&r2=532165
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/jpa/JpaCmpEngine.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/cmp/jpa/JpaCmpEngine.java Tue Apr 24 18:59:20 2007
@@ -194,8 +194,8 @@
     }
 
     public List<Object> queryBeans(ThreadContext callContext, Method queryMethod, Object[] args) throws FinderException {
-        boolean startedTx = startTransaction("query");
-        try {
+//        boolean startedTx = startTransaction("query");
+//        try {
             CoreDeploymentInfo deploymentInfo = callContext.getDeploymentInfo();
             EntityManager entityManager = getEntityManager(deploymentInfo);
 
@@ -223,14 +223,14 @@
                 }
             }
             return executeQuery(query, args);
-        } finally {
-            commitTransaction(startedTx, "query");
-        }
+//        } finally {
+//            commitTransaction(startedTx, "query");
+//        }
     }
 
     public List<Object> queryBeans(CoreDeploymentInfo deploymentInfo, String signature, Object[] args) throws FinderException {
-        boolean startedTx = startTransaction("query");
-        try {
+//        boolean startedTx = startTransaction("query");
+//        try {
             EntityManager entityManager = getEntityManager(deploymentInfo);
 
             Query query = createNamedQuery(entityManager, signature);
@@ -245,9 +245,9 @@
                 }
             }
             return executeQuery(query, args);
-        } finally {
-            commitTransaction(startedTx, "query");
-        }
+//        } finally {
+//            commitTransaction(startedTx, "query");
+//        }
     }
 
     private List<Object> executeQuery(Query query, Object[] args) {

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionPolicy.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionPolicy.java?view=diff&rev=532165&r1=532164&r2=532165
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionPolicy.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionPolicy.java Tue Apr 24 18:59:20 2007
@@ -21,6 +21,7 @@
 import org.apache.openejb.SystemException;
 import org.apache.openejb.core.ThreadContext;
 import org.apache.openejb.util.Logger;
+import org.apache.openjpa.persistence.InvalidStateException;
 
 import javax.transaction.Transaction;
 import javax.transaction.TransactionManager;
@@ -30,6 +31,7 @@
 import javax.transaction.RollbackException;
 import javax.transaction.NotSupportedException;
 import java.rmi.RemoteException;
+import java.util.Arrays;
 
 public abstract class TransactionPolicy {
     public Type getPolicyType() {
@@ -215,7 +217,17 @@
     }
 
     protected void logSystemException(Throwable sysException) {
-
+        if (sysException instanceof InvalidStateException) {
+            InvalidStateException invalidStateException = (InvalidStateException) sysException;
+            System.out.println("===== FailedObject" + invalidStateException.getFailedObject());
+            if (invalidStateException.getFailedObject() instanceof Throwable) {
+                Throwable throwable = (Throwable) invalidStateException.getFailedObject();
+                System.out.println("==============================================");
+                throwable.printStackTrace();
+                System.out.println("==============================================");                
+            }
+            System.out.println("===== NestedThrowables" + Arrays.toString(invalidStateException.getNestedThrowables()));
+        }
         logger.error("The bean instances business method encountered a system exception: " + sysException.getMessage(), sysException);
     }