[jbpm-commits] JBoss JBPM SVN: r6926 - in jbpm3/branches/jbpm-3.2-soa/core/src/main: java/org/jbpm/job/executor and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon May 16 09:56:34 EDT 2011


Author: jcoleman at redhat.com
Date: 2011-05-16 09:56:34 -0400 (Mon, 16 May 2011)
New Revision: 6926

Modified:
   jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/db/JobSession.java
   jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/job/executor/JobExecutor.java
   jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/job/executor/JobExecutorThread.java
   jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml
Log:
Updates to the job executor fixes (revision 6918):

  o  increase the retry count when we unlock a job if an error has occurred.
     Otherwise, we would decrease the value when we shouldn't
  o  remove the additional unlocking code, as the lock-monitor thread will
     handle this for us

>From kconner@


Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/db/JobSession.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/db/JobSession.java	2011-05-16 09:20:03 UTC (rev 6925)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/db/JobSession.java	2011-05-16 13:56:34 UTC (rev 6926)
@@ -275,14 +275,4 @@
     }
     return session.createCriteria(Job.class).add(Restrictions.in("id", jobs)).list();
   }
-
-  public void releaseLockedJobs(final String lockOwner) {
-    try {
-      session.getNamedQuery("JobSession.releaseLockedJobs")
-        .setString("lockOwner", lockOwner)
-        .executeUpdate();
-    } catch (HibernateException e) {
-      throw new JbpmPersistenceException("could not release locked jobs by owner '" + lockOwner + "'", e);
-    }
-  }
 }

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/job/executor/JobExecutor.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/job/executor/JobExecutor.java	2011-05-16 09:20:03 UTC (rev 6925)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/job/executor/JobExecutor.java	2011-05-16 13:56:34 UTC (rev 6926)
@@ -17,8 +17,6 @@
 import org.apache.commons.logging.LogFactory;
 
 import org.jbpm.JbpmConfiguration;
-import org.jbpm.JbpmContext;
-import org.jbpm.db.JobSession;
 import org.jbpm.job.Job;
 
 import edu.emory.mathcs.backport.java.util.concurrent.locks.Condition;
@@ -498,37 +496,10 @@
 
   private void activateDispatcher() {
     waitingExecutorLock.lock() ;
-    try {
-      if (!dispatcherActive) {
-        unlockOurJobs() ;
-        dispatcherActive = true ;
-      }
-    } finally {
-      waitingExecutorLock.unlock() ;
-    }
+    dispatcherActive = true ;
+    waitingExecutorLock.unlock() ;
   }
   
-  private void unlockOurJobs() {
-    final JbpmContext jbpmContext = getJbpmConfiguration().createJbpmContext();
-    try {
-      final String lockOwner = getName();
-      final JobSession jobSession = jbpmContext.getJobSession();
-      jobSession.releaseLockedJobs(lockOwner);
-    } catch (RuntimeException e) {
-      jbpmContext.setRollbackOnly();
-      if (log.isDebugEnabled()) log.debug("failed to release locked jobs", e);
-    } catch (Error e) {
-      jbpmContext.setRollbackOnly();
-      throw e;
-    } finally {
-      try {
-        jbpmContext.close();
-      }  catch (RuntimeException e) {
-        if (log.isDebugEnabled()) log.debug("failed to release locked jobs", e);
-      }
-    }
-  }
-
   private void deactivateDispatcher() {
     waitingExecutorLock.lock() ;
     try {

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/job/executor/JobExecutorThread.java
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/job/executor/JobExecutorThread.java	2011-05-16 09:20:03 UTC (rev 6925)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/job/executor/JobExecutorThread.java	2011-05-16 13:56:34 UTC (rev 6926)
@@ -219,6 +219,10 @@
       // unlock job
       job.setLockOwner(null);
       job.setLockTime(null);
+      if (job.getException() != null)
+      {
+    	  job.setRetries(job.getRetries()+1) ;
+      }
     }
     catch (RuntimeException e) {
       jbpmContext.setRollbackOnly();

Modified: jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml
===================================================================
--- jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml	2011-05-16 09:20:03 UTC (rev 6925)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml	2011-05-16 13:56:34 UTC (rev 6926)
@@ -401,16 +401,6 @@
     ]]>
   </query>
 
-  <query name="JobSession.releaseLockedJobs">
-    <![CDATA[
-      update org.jbpm.job.Job job
-      set job.lockOwner = null, job.lockTime = null
-      where (job.lockOwner = :lockOwner)
-      and job.retries > 0
-      and job.isSuspended = false
-    ]]>
-  </query>
-
   <!-- related to Tasks            -->
   <!-- ########################### -->
 



More information about the jbpm-commits mailing list