Author: mriou
Date: Thu May 7 22:21:50 2009
New Revision: 772793
URL: http://svn.apache.org/viewvc?rev=772793&view=rev
Log:
No retired processes were activated after server restart so instances couldn't
be finished. Due to a test on BpelProcess before it's even loaded.
Modified:
ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
Modified:
ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java?rev=772793&r1=772792&r2=772793&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
Thu May 7 22:21:50 2009
@@ -69,6 +69,8 @@
Collection<ProcessInstanceDAO> instanceQuery(String expression);
+ int getNumInstances(QName processId);
+
/**
* Insert a BPEL event into the database.
* @param event a BPEL event
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=772793&r1=772792&r2=772793&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
Thu May 7 22:21:50 2009
@@ -396,7 +396,6 @@
return false;
}
- /* TODO: We need to have a method of cleaning up old deployment data. */
protected boolean deleteProcessDAO(final QName pid, boolean isInMemory) {
try {
if (isInMemory) {
@@ -521,9 +520,18 @@
return _engine._activeProcesses.get(pid)._debugger;
}
- public boolean hasActiveInstances(QName pid) {
- BpelProcess process = _engine.getProcess(pid);
- return process != null ? process.hasActiveInstances() : false;
+ public boolean hasActiveInstances(final QName pid) {
+ try {
+ return _db.exec(new BpelDatabase.Callable<Boolean>() {
+ public Boolean run(BpelDAOConnection conn) throws Exception {
+ return conn.getNumInstances(pid) > 0;
+ }
+ });
+ } catch (RuntimeException re) {
+ throw re;
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
}
public void setHydrationLazy(boolean hydrationLazy) {
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java?rev=772793&r1=772792&r2=772793&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
Thu May 7 22:21:50 2009
@@ -99,6 +99,13 @@
return null;
}
+ public int getNumInstances(QName processId) {
+ ProcessDAO process = getProcess(processId);
+ if (process != null)
+ return process.getNumInstances();
+ else return -1;
+ }
+
@SuppressWarnings("unchecked")
public Collection<ProcessInstanceDAO> instanceQuery(InstanceFilter filter)
{
if(filter.getLimit()==0) {
Modified:
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java?rev=772793&r1=772792&r2=772793&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
(original)
+++
ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
Thu May 7 22:21:50 2009
@@ -141,6 +141,13 @@
return _getInstance(_sm, getSession(), instanceId);
}
+ public int getNumInstances(QName processId) {
+ ProcessDAO process = getProcess(processId);
+ if (process != null)
+ return process.getNumInstances();
+ else return -1;
+ }
+
public ScopeDAO getScope(Long siidl) {
return _getScope(_sm, getSession(), siidl);
}
Modified:
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java?rev=772793&r1=772792&r2=772793&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
(original)
+++
ode/branches/APACHE_ODE_1.X/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
Thu May 7 22:21:50 2009
@@ -114,6 +114,13 @@
return p;
}
+ public int getNumInstances(QName processId) {
+ ProcessDAO process = getProcess(processId);
+ if (process != null)
+ return process.getNumInstances();
+ else return -1;
+ }
+
public ScopeDAO getScope(Long siidl) {
return _em.find(ScopeDAOImpl.class, siidl);
}