Author: rr
Date: Fri Jun 18 11:11:31 2010
New Revision: 955933
URL: http://svn.apache.org/viewvc?rev=955933&view=rev
Log:
CleanupRunnable fix after JobDetails update
Modified:
ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessCleanUpRunnable.java
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/RuntimeDataCleanupRunnable.java
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java
ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
Modified:
ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
(original)
+++
ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/BpelDAOConnection.java
Fri Jun 18 11:11:31 2010
@@ -102,8 +102,7 @@ public interface BpelDAOConnection {
Collection<CorrelationSetDAO> getActiveCorrelationSets();
- ProcessDAO createTransientProcess(Serializable id);
-
+ ProcessDAO createTransientProcess(Long pidId);
ProcessDAO createProcess(QName pid, QName type, String guid, long version);
/**
Modified:
ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java
(original)
+++
ode/trunk/bpel-dao/src/main/java/org/apache/ode/bpel/dao/DeferredProcessInstanceCleanable.java
Fri Jun 18 11:11:31 2010
@@ -20,6 +20,8 @@ package org.apache.ode.bpel.dao;
import java.io.Serializable;
+import javax.xml.namespace.QName;
+
/**
* Instances and associated data for a ProcessDAO implementation that
implements this
* interface can be deleted in a deferred fashion.
@@ -33,8 +35,8 @@ public interface DeferredProcessInstance
*
* @return database id
*/
- Serializable getId();
-
+ Long getPidId();
+
/**
* Deletes instances and data for this process, the number of rows gets
deletes is limited
* by the transaction size.
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
(original)
+++
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
Fri Jun 18 11:11:31 2010
@@ -436,7 +436,7 @@ public class BpelServerImpl implements B
!DEFERRED_PROCESS_INSTANCE_CLEANUP_DISABLED ) {
// schedule deletion of process runtime data
_engine._contexts.scheduler.scheduleMapSerializableRunnable(
- new
ProcessCleanUpRunnable(((DeferredProcessInstanceCleanable)proc).getId()), new
Date());
+ new
ProcessCleanUpRunnable(((DeferredProcessInstanceCleanable)proc).getPidId()),
new Date());
} else if( proc instanceof DeferredProcessInstanceCleanable ) {
((DeferredProcessInstanceCleanable)proc).deleteInstances(Integer.MAX_VALUE);
}
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessCleanUpRunnable.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessCleanUpRunnable.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessCleanUpRunnable.java
(original)
+++
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ProcessCleanUpRunnable.java
Fri Jun 18 11:11:31 2010
@@ -40,21 +40,21 @@ public class ProcessCleanUpRunnable impl
public final static int PROCESS_CLEANUP_TRANSACTION_SIZE =
Integer.getInteger("org.apache.ode.processInstanceDeletion.transactionSize",
10);
private transient Contexts _contexts;
- private transient Serializable _pid;
+ private transient Long _pidId;
public ProcessCleanUpRunnable() {
}
-
- public ProcessCleanUpRunnable(Serializable pid) {
- _pid = pid;
+
+ public ProcessCleanUpRunnable(Long pidId) {
+ _pidId = pidId;
}
public void storeToDetails(JobDetails details) {
- details.getDetailsExt().put("pid", _pid);
+ details.getDetailsExt().put("pidId", _pidId);
}
public void restoreFromDetails(JobDetails details) {
- _pid = (Serializable) details.getDetailsExt().get("pid");
+ _pidId = (Long) details.getDetailsExt().get("pidId");
}
public void setContexts(Contexts contexts) {
@@ -62,7 +62,7 @@ public class ProcessCleanUpRunnable impl
}
public void run() {
- if(__log.isDebugEnabled()) __log.debug("Deleting runtime data for old
process: " + _pid + "...");
+ if(__log.isDebugEnabled()) __log.debug("Deleting runtime data for old
process: " + _pidId + "...");
try {
// deleting of a process may involve hours' of database
transaction,
// we need to break it down to smaller transactions
@@ -70,20 +70,20 @@ public class ProcessCleanUpRunnable impl
do {
transactionResultSize =
_contexts.scheduler.execTransaction(new Callable<Integer>() {
public Integer call() throws Exception {
- ProcessDAO process =
_contexts.dao.getConnection().createTransientProcess(_pid);
+ ProcessDAO process =
_contexts.dao.getConnection().createTransientProcess(_pidId);
if( !(process instanceof
DeferredProcessInstanceCleanable) ) {
throw new IllegalArgumentException("ProcessDAO
does not implement DeferredProcessInstanceCleanable!!!");
}
return
((DeferredProcessInstanceCleanable)process).deleteInstances(PROCESS_CLEANUP_TRANSACTION_SIZE);
}
});
- if(__log.isDebugEnabled()) __log.debug("Deleted " +
transactionResultSize + "instances for old process: " + _pid + ".");
+ if(__log.isDebugEnabled()) __log.debug("Deleted " +
transactionResultSize + "instances for old process: " + _pidId + ".");
} while( transactionResultSize == PROCESS_CLEANUP_TRANSACTION_SIZE
);
} catch (RuntimeException re) {
throw re;
} catch (Exception ex) {
throw new RuntimeException(ex);
}
- if(__log.isInfoEnabled()) __log.info("Deleted runtime data for old
process: " + _pid + ".");
+ if(__log.isInfoEnabled()) __log.info("Deleted runtime data for old
process: " + _pidId + ".");
}
}
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/RuntimeDataCleanupRunnable.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/RuntimeDataCleanupRunnable.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/RuntimeDataCleanupRunnable.java
(original)
+++
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/RuntimeDataCleanupRunnable.java
Fri Jun 18 11:11:31 2010
@@ -56,7 +56,7 @@ public class RuntimeDataCleanupRunnable
public void restoreFromDetails(JobDetails details) {
_cleanupInfo = (CleanupInfo)details.getDetailsExt().get("cleanupInfo");
_transactionSize =
(Integer)details.getDetailsExt().get("transactionSize");
- _pid = (QName) details.getDetailsExt().get("pid");
+ _pid = details.getProcessId();
_pidsToExclude =
(Set<QName>)details.getDetailsExt().get("pidsToExclude");
}
Modified:
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
(original)
+++
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/memdao/BpelDAOConnectionImpl.java
Fri Jun 18 11:11:31 2010
@@ -78,8 +78,8 @@ class BpelDAOConnectionImpl implements B
return _store.get(processId);
}
- public ProcessDAO createTransientProcess(Serializable id) {
- ProcessDaoImpl process = new ProcessDaoImpl(this, _store, null, null,
(String)id, 0);
+ public ProcessDAO createTransientProcess(Long id) {
+ ProcessDaoImpl process = new ProcessDaoImpl(this, _store, null, null,
null, 0);
return process;
}
Modified:
ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java
(original)
+++
ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessConfImpl.java
Fri Jun 18 11:11:31 2010
@@ -549,7 +549,7 @@ public class ProcessConfImpl implements
JobDetails runnableDetails = new JobDetails();
runnableDetails.getDetailsExt().put("cleanupInfo",
cleanupInfo);
- runnableDetails.getDetailsExt().put("pid", _pid);
+ runnableDetails.setProcessId(_pid);
runnableDetails.getDetailsExt().put("transactionSize", 10);
job.getRunnableDetailList().add(runnableDetails);
}
@@ -561,4 +561,4 @@ public class ProcessConfImpl implements
return jobs;
}
-}
\ No newline at end of file
+}
Modified:
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
(original)
+++
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/BpelDAOConnectionImpl.java
Fri Jun 18 11:11:31 2010
@@ -114,9 +114,9 @@ public class BpelDAOConnectionImpl imple
return new ProcessDaoImpl(_sm, process);
}
- public ProcessDAO createTransientProcess(Serializable id) {
+ public ProcessDAO createTransientProcess(Long id) {
HProcess process = new HProcess();
- process.setId((Long)id);
+ process.setId(id);
return new ProcessDaoImpl(_sm, process);
}
Modified:
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java
(original)
+++
ode/trunk/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/ProcessDaoImpl.java
Fri Jun 18 11:11:31 2010
@@ -77,6 +77,10 @@ public class ProcessDaoImpl extends Hibe
entering("ProcessDaoImpl.ProcessDaoImpl");
_process = process;
}
+
+ public Long getPidId() {
+ return (Long) getId();
+ }
public QName getProcessId() {
return QName.valueOf(_process.getProcessId());
Modified:
ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
URL:
http://svn.apache.org/viewvc/ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
(original)
+++
ode/trunk/dao-jpa/src/main/java/org/apache/ode/dao/jpa/BPELDAOConnectionImpl.java
Fri Jun 18 11:11:31 2010
@@ -97,11 +97,11 @@ public class BPELDAOConnectionImpl imple
_em.persist(ret);
return ret;
}
-
- public ProcessDAO createTransientProcess(Serializable id) {
+
+ public ProcessDAO createTransientProcess(Long id) {
ProcessDAOImpl ret = new ProcessDAOImpl(null, null, null, 0);
- ret.setId((Long)id);
-
+ ret.setId(id);
+
return ret;
}
Modified:
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
URL:
http://svn.apache.org/viewvc/ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
(original)
+++
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/JdbcDelegate.java
Fri Jun 18 11:11:31 2010
@@ -317,7 +317,7 @@ public class JdbcDelegate implements Dat
if (detailsExt.get("iid") != null) {
details.instanceId = (Long) detailsExt.get("iid");
}
- if (detailsExt.get("pid") != null) {
+ if (detailsExt.get("pid") != null && detailsExt.get("pid")
instanceof String) {
details.processId = (String) detailsExt.get("pid");
}
if (detailsExt.get("inmem") != null) {
Modified:
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
URL:
http://svn.apache.org/viewvc/ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java?rev=955933&r1=955932&r2=955933&view=diff
==============================================================================
---
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
(original)
+++
ode/trunk/scheduler-simple/src/main/java/org/apache/ode/scheduler/simple/SimpleScheduler.java
Fri Jun 18 11:11:31 2010
@@ -738,7 +738,7 @@ public class SimpleScheduler implements
if (_processedSinceLastLoadTask.get(job.jobId) == null) {
if (_outstandingJobs.putIfAbsent(job.jobId, job.schedDate) ==
null) {
if (job.schedDate <= System.currentTimeMillis()) {
- runJob(job);
+ runTask(job);
} else {
_todo.enqueue(job);
}