Author: midon
Date: Thu Nov 19 21:33:50 2009
New Revision: 882309

URL: http://svn.apache.org/viewvc?rev=882309&view=rev
Log:
schedule (persisted) volatile jobs only when for (non) in-memory jobs

Modified:
    
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
    
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java
    
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java

Modified: 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java?rev=882309&r1=882308&r2=882309&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelRuntimeContextImpl.java
 Thu Nov 19 21:33:50 2009
@@ -657,7 +657,11 @@
         we.setChannel(timerChannel.export());
         we.setType(WorkEvent.Type.TIMER);
         we.setInMem(_bpelProcess.isInMemory());
-        
_bpelProcess._engine._contexts.scheduler.schedulePersistedJob(we.getDetail(), 
timeToFire);
+        if(_bpelProcess.isInMemory()){
+            _bpelProcess._engine._contexts.scheduler.scheduleVolatileJob(true, 
we.getDetail(), timeToFire);
+        }else{
+            
_bpelProcess._engine._contexts.scheduler.schedulePersistedJob(we.getDetail(), 
timeToFire);
+        }
     }
 
     private void scheduleCorrelatorMatcher(String correlatorId, 
CorrelationKeySet keySet) {
@@ -667,7 +671,11 @@
         we.setCorrelatorId(correlatorId);
         we.setCorrelationKeySet(keySet);
         we.setInMem(_bpelProcess.isInMemory());
-        _bpelProcess._engine._contexts.scheduler.scheduleVolatileJob(true, 
we.getDetail());
+        if(_bpelProcess.isInMemory()){
+            _bpelProcess._engine._contexts.scheduler.scheduleVolatileJob(true, 
we.getDetail());
+        }else{
+            
_bpelProcess._engine._contexts.scheduler.schedulePersistedJob(we.getDetail(), 
null);
+        }
     }
 
     /**

Modified: 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java?rev=882309&r1=882308&r2=882309&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/MyRoleMessageExchangeImpl.java
 Thu Nov 19 21:33:50 2009
@@ -137,7 +137,7 @@
             // Schedule a new job for invocation
             WorkEvent we = new WorkEvent();
             we.setType(WorkEvent.Type.INVOKE_INTERNAL);
-            if (target.isInMemory()) we.setInMem(true);
+            we.setInMem(target.isInMemory());
             we.setProcessId(target.getPID());
             we.setMexId(getDAO().getMessageExchangeId());
 

Modified: 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
URL: 
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java?rev=882309&r1=882308&r2=882309&view=diff
==============================================================================
--- 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
 (original)
+++ 
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/PartnerRoleMessageExchangeImpl.java
 Thu Nov 19 21:33:50 2009
@@ -134,8 +134,7 @@
         WorkEvent we = new WorkEvent();
         we.setIID(getDAO().getInstance().getInstanceId());
         we.setType(Type.INVOKE_RESPONSE);
-        if 
(_engine._activeProcesses.get(getDAO().getProcess().getProcessId()).isInMemory())
-            we.setInMem(true);
+        
we.setInMem(_engine._activeProcesses.get(getDAO().getProcess().getProcessId()).isInMemory());
         we.setChannel(getDAO().getChannel());
         we.setMexId(getDAO().getMessageExchangeId());
         if (we.isInMem())


Reply via email to