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())