[jbpm-commits] JBoss JBPM SVN: r7069 - in jbpm3/branches/jbpm-3.2-soa/core/src/main: resources/org/jbpm/db and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Feb 24 06:35:53 EST 2012


Author: marco.rietveld
Date: 2012-02-24 06:35:51 -0500 (Fri, 24 Feb 2012)
New Revision: 7069

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/resources/org/jbpm/db/hibernate.queries.hbm.xml
Log:
Restoring methods used by ESB. 

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	2012-02-22 16:56:34 UTC (rev 7068)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/java/org/jbpm/db/JobSession.java	2012-02-24 11:35:51 UTC (rev 7069)
@@ -22,6 +22,7 @@
 package org.jbpm.db;
 
 import java.sql.Timestamp;
+import java.util.Collection;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
@@ -274,4 +275,36 @@
     }
   }
 
+  //ESB  
+  public Job loadJob(long jobId) {
+    try {
+      return (Job) session.load(Job.class, new Long(jobId));
+    }
+    catch (HibernateException e) {
+      throw new JbpmPersistenceException("could not load job " + jobId, e);
+    }
+  }
+
+  public Job getFirstDueJob(String lockOwner, Collection monitoredJobs) {
+    try {
+      Query query;
+      if (lockOwner == null) {
+        query = session.getNamedQuery("JobSession.getFirstUnownedDueJob");
+      }
+      else if (monitoredJobs == null || monitoredJobs.isEmpty()) {
+        query = session.getNamedQuery("JobSession.getFirstDueJob")
+          .setString("lockOwner", lockOwner);
+      }
+      else {
+        query = session.getNamedQuery("JobSession.getFirstDueJobExcludingMonitoredJobs")
+          .setString("lockOwner", lockOwner)
+          .setParameterList("monitoredJobIds", monitoredJobs);
+      }
+      return (Job) query.setMaxResults(1).uniqueResult();
+    }
+    catch (HibernateException e) {
+      throw new JbpmPersistenceException("could not get first due job owned by '" + lockOwner
+        + "' ignoring jobs " + monitoredJobs, e);
+    }
+  }
 }

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	2012-02-22 16:56:34 UTC (rev 7068)
+++ jbpm3/branches/jbpm-3.2-soa/core/src/main/resources/org/jbpm/db/hibernate.queries.hbm.xml	2012-02-24 11:35:51 UTC (rev 7069)
@@ -381,7 +381,42 @@
       where job.lockTime < :threshold
     ]]>
   </query>
+  
+  <!--  ESB-related and cruft -->
+  <query name="JobSession.getFirstDueJob">
+    <![CDATA[
+      select job
+      from org.jbpm.job.Job job
+      where (job.lockOwner is null or job.lockOwner = :lockOwner)
+      and job.retries > 0
+      and job.isSuspended = false
+      order by job.dueDate asc
+    ]]>
+  </query>
 
+  <query name="JobSession.getFirstDueJobExcludingMonitoredJobs">
+    <![CDATA[
+      select job
+      from org.jbpm.job.Job job
+      where (job.lockOwner is null or job.lockOwner = :lockOwner)
+      and job.id not in (:monitoredJobIds)
+      and job.retries > 0
+      and job.isSuspended = false
+      order by job.dueDate asc
+    ]]>
+  </query>
+
+  <query name="JobSession.getFirstUnownedDueJob">
+    <![CDATA[
+      select job
+      from org.jbpm.job.Job job
+      where job.lockOwner is null
+      and job.retries > 0
+      and job.isSuspended = false
+      order by job.dueDate asc
+    ]]>
+  </query>
+
   <!-- related to Tasks            -->
   <!-- ########################### -->
 



More information about the jbpm-commits mailing list