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


Reply via email to