Author: karthick
Date: Wed Mar 4 20:39:15 2009
New Revision: 750148
URL: http://svn.apache.org/viewvc?rev=750148&view=rev
Log:
Introduce a configurable property to enable lazy loading of BPEL processes.
Modified:
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
Modified:
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?rev=750148&r1=750147&r2=750148&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
(original)
+++
ode/branches/APACHE_ODE_1.X/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
Wed Mar 4 20:39:15 2009
@@ -560,6 +560,7 @@
dehy.setProcessMaxCount(_odeConfig.getDehydrationMaximumCount());
_server.setDehydrationPolicy(dehy);
}
+ _server.setHydrationLazy(_odeConfig.isHydrationLazy());
_server.setConfigProperties(_odeConfig.getProperties());
_server.init();
}
Modified:
ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java?rev=750148&r1=750147&r2=750148&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
Wed Mar 4 20:39:15 2009
@@ -84,6 +84,8 @@
public static final String PROP_PROCESS_DEHYDRATION_MAXIMUM_COUNT =
"process.dehydration.maximum.count";
+ public static final String PROP_PROCESS_HYDRATION = "process.hydration";
+
public static final String PROP_DAOCF = "dao.factory";
private File _cfgFile;
@@ -254,6 +256,10 @@
return
Integer.valueOf(getProperty(PROP_PROCESS_DEHYDRATION_MAXIMUM_COUNT, ""+1000));
}
+ public boolean isHydrationLazy() {
+ return
"lazy".equals(getProperty(OdeConfigProperties.PROP_PROCESS_HYDRATION, "eager"));
+ }
+
public boolean isDbLoggingEnabled() {
return
Boolean.valueOf(getProperty(OdeConfigProperties.PROP_DB_LOGGING, "false"));
}
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=750148&r1=750147&r2=750148&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
Wed Mar 4 20:39:15 2009
@@ -19,7 +19,6 @@
package org.apache.ode.bpel.engine;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
@@ -34,7 +33,8 @@
import org.apache.ode.bpel.dao.BpelDAOConnection;
import org.apache.ode.bpel.dao.BpelDAOConnectionFactory;
import org.apache.ode.bpel.dao.ProcessDAO;
-import org.apache.ode.bpel.dao.ProcessInstanceDAO;
+import org.apache.ode.bpel.engine.migration.MigrationHandler;
+import org.apache.ode.bpel.evar.ExternalVariableModule;
import org.apache.ode.bpel.evt.BpelEvent;
import org.apache.ode.bpel.iapi.BindingContext;
import org.apache.ode.bpel.iapi.BpelEngine;
@@ -54,8 +54,6 @@
import org.apache.ode.utils.msg.MessageBundle;
import org.apache.ode.utils.stl.CollectionsX;
import org.apache.ode.utils.stl.MemberOfFunction;
-import org.apache.ode.bpel.evar.ExternalVariableModule;
-import org.apache.ode.bpel.engine.migration.MigrationHandler;
/**
* <p>
@@ -91,6 +89,7 @@
private State _state = State.SHUTDOWN;
private Contexts _contexts = new Contexts();
private DehydrationPolicy _dehydrationPolicy;
+ private boolean _hydrationLazy;
private Properties _configProperties;
BpelEngineImpl _engine;
@@ -290,7 +289,9 @@
_engine.registerProcess(process);
_registeredProcesses.add(process);
- if (_dehydrationPolicy == null) process.hydrate();
+ if (!_hydrationLazy) {
+ process.hydrate();
+ }
__log.info(__msgs.msgProcessRegistered(conf.getProcessId()));
} finally {
@@ -475,4 +476,8 @@
return process != null ? process.hasActiveInstances() : false;
}
+ public void setHydrationLazy(boolean hydrationLazy) {
+ this._hydrationLazy = hydrationLazy;
+ }
+
}