[jbpm-commits] JBoss JBPM SVN: r2404 - jbpm3/branches/aguizar/modules/core/src/main/java/org/jbpm/db.

do-not-reply at jboss.org do-not-reply at jboss.org
Sat Sep 27 00:36:31 EDT 2008


Author: alex.guizar at jboss.com
Date: 2008-09-27 00:36:31 -0400 (Sat, 27 Sep 2008)
New Revision: 2404

Modified:
   jbpm3/branches/aguizar/modules/core/src/main/java/org/jbpm/db/JobSession.java
Log:
check the effect of pessimistic locking on job acquisition and execution

Modified: jbpm3/branches/aguizar/modules/core/src/main/java/org/jbpm/db/JobSession.java
===================================================================
--- jbpm3/branches/aguizar/modules/core/src/main/java/org/jbpm/db/JobSession.java	2008-09-26 17:41:47 UTC (rev 2403)
+++ jbpm3/branches/aguizar/modules/core/src/main/java/org/jbpm/db/JobSession.java	2008-09-27 04:36:31 UTC (rev 2404)
@@ -6,6 +6,7 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.hibernate.LockMode;
 import org.hibernate.Query;
 import org.hibernate.Session;
 import org.jbpm.JbpmContext;
@@ -32,6 +33,7 @@
       query.setString("lockOwner", lockOwner);
       query.setTimestamp("now", new Date());
       query.setMaxResults(1);
+      query.setLockMode("job", LockMode.UPGRADE);
       job = (Job) query.uniqueResult();
 
     } catch (Exception e) {
@@ -48,6 +50,7 @@
       query.setString("lockOwner", lockOwner);
       query.setTimestamp("now", new Date());
       query.setParameter("processInstance", processInstance);
+      query.setLockMode("job", LockMode.UPGRADE);
       jobs = query.list();
 
     } catch (Exception e) {
@@ -101,7 +104,7 @@
 
   public Job loadJob(long jobId) {
     try {
-      return (Job) session.load(Job.class, new Long(jobId));
+      return (Job) session.load(Job.class, new Long(jobId), LockMode.UPGRADE);
     } catch (Exception e) {
       log.error(e);
       throw new JbpmException("couldn't load job '"+jobId+"'", e);




More information about the jbpm-commits mailing list