[jboss-svn-commits] JBL Code SVN: r34969 - labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/java/org/drools/persistence/session.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Sep 1 23:01:15 EDT 2010
Author: diegoll
Date: 2010-09-01 23:01:14 -0400 (Wed, 01 Sep 2010)
New Revision: 34969
Modified:
labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java
Log:
[JBRULES-2656] fixed
Modified: labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java
===================================================================
--- labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java 2010-09-01 21:33:07 UTC (rev 34968)
+++ labs/jbossrules/branches/diega_esteban_jpm_integration_r34940/drools-persistence-jpa/src/main/java/org/drools/persistence/session/SingleSessionCommandService.java 2010-09-02 03:01:14 UTC (rev 34969)
@@ -35,7 +35,7 @@
implements
org.drools.command.SingleSessionCommandService {
- Logger logger = LoggerFactory.getLogger( getClass() );
+ Logger logger = LoggerFactory.getLogger(SingleSessionCommandService.class);
private SessionInfo sessionInfo;
private JPASessionMarshallingHelper marshallingHelper;
@@ -278,21 +278,19 @@
//this.appScopedEntityManager.joinTransaction();
registerRollbackSync();
+ logger.debug("Executing [{}] command", command.getClass().getSimpleName());
T result = ((GenericCommand<T>) command).execute( this.kContext );
txm.commit();
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();
@@ -300,6 +298,15 @@
}
}
+ private void rollbackTransaction(Exception t1) {
+ try {
+ txm.rollback();
+ } catch ( Exception t2 ) {
+ logger.error("Could not commit session or rollback. Original exception:",t1);
+ 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