[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