You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by rr...@apache.org on 2010/06/18 13:11:32 UTC

svn commit: r955933 - in /ode/trunk: bpel-dao/src/main/java/org/apache/ode/bpel/dao/ bpel-runtime/src/main/java/org/apache/ode/bpel/engine/ bpel-runtime/src/main/java/org/apache/ode/bpel/engine/cron/ bpel-runtime/src/main/java/org/apache/ode/bpel/memda...

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);
                 }