[jboss-svn-commits] JBL Code SVN: r35317 - labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Sep 27 16:35:43 EDT 2010


Author: diegoll
Date: 2010-09-27 16:35:43 -0400 (Mon, 27 Sep 2010)
New Revision: 35317

Modified:
   labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java
Log:
[JBRULES-2656] improving logging on rollback tx

Modified: labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java
===================================================================
--- labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java	2010-09-27 19:05:42 UTC (rev 35316)
+++ labs/jbossrules/trunk/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java	2010-09-27 20:35:43 UTC (rev 35317)
@@ -277,15 +277,12 @@
 
             return result;
 
+        }catch (RuntimeException re){
+            rollbackTransaction(re);
+            throw re;
         } catch ( Exception t1 ) {
-            try {
-                txm.rollback();
-            } catch ( Exception t2 ) {
-                throw new RuntimeException( "Could not commit session or rollback",
-                                            t2 );
-            }
-            throw new RuntimeException( "Could not commit session",
-                                        t1 );
+            rollbackTransaction(t1);
+            throw new RuntimeException("Wrapped exception see cause", t1);
         } finally {
             if ( command instanceof DisposeCommand ) {
                 this.jpm.dispose();
@@ -293,6 +290,16 @@
         }
     }
 
+    private void rollbackTransaction(Exception t1) {
+        try {
+            logger.error( "Could not commit session", t1 );
+            txm.rollback();
+        } catch ( Exception t2 ) {
+            logger.error( "Could not rollback", t2 );
+            throw new RuntimeException( "Could not commit session or rollback", t2 );
+        }
+    }
+
     public void dispose() {
         if ( ksession != null ) {
             ksession.dispose();



More information about the jboss-svn-commits mailing list