[jboss-svn-commits] JBL Code SVN: r34707 - labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-persistence/src/main/java/org/drools/timer/persistence.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Aug 13 08:47:07 EDT 2010
Author: diegoll
Date: 2010-08-13 08:47:06 -0400 (Fri, 13 Aug 2010)
New Revision: 34707
Modified:
labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-persistence/src/main/java/org/drools/timer/persistence/JPATimerPersistence.java
Log:
[JBRULES-2616] opening tx on delete. Test passing
Modified: labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-persistence/src/main/java/org/drools/timer/persistence/JPATimerPersistence.java
===================================================================
--- labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-persistence/src/main/java/org/drools/timer/persistence/JPATimerPersistence.java 2010-08-13 11:37:57 UTC (rev 34706)
+++ labs/jbossrules/branches/5_1_20100802_esteban_diega/drools-process/drools-persistent-timer/drools-timer-persistence/src/main/java/org/drools/timer/persistence/JPATimerPersistence.java 2010-08-13 12:47:06 UTC (rev 34707)
@@ -2,6 +2,7 @@
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
import javax.persistence.NoResultException;
import org.drools.timer.persistence.model.TimerState;
@@ -35,11 +36,20 @@
}
public boolean remove(long processInstanceId) {
- boolean removed = getEntityManager().createQuery("delete TimerState where processInstanceId=:processId")
- .setParameter("processId", processInstanceId)
- .executeUpdate() == 1;
- logger.debug("Removing timer for process instance " + processInstanceId);
- return removed;
+ EntityManager entityManager = getEntityManager();
+ try{
+ EntityTransaction transaction = entityManager.getTransaction();
+ transaction.begin();
+ boolean removed = entityManager.createQuery("delete TimerState where processInstanceId=:processId")
+ .setParameter("processId", processInstanceId)
+ .executeUpdate() == 1;
+ transaction.commit();
+ logger.debug("Removed timer for process instance " + processInstanceId);
+ return removed;
+ } catch (RuntimeException e) {
+ logger.error("Error removing timer", e);
+ throw e;
+ }
}
private EntityManager getEntityManager(){
More information about the jboss-svn-commits
mailing list