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);
}