You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2007/03/07 18:45:46 UTC
svn commit: r515661 - in /incubator/ode/trunk:
axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
Author: mriou
Date: Wed Mar 7 09:45:45 2007
New Revision: 515661
URL: http://svn.apache.org/viewvc?view=rev&rev=515661
Log:
Customizable thread pool limit.
Modified:
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
Modified: incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?view=diff&rev=515661&r1=515660&r2=515661
==============================================================================
--- incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Wed Mar 7 09:45:45 2007
@@ -437,6 +437,11 @@
if (__log.isDebugEnabled()) {
__log.debug("ODE initializing");
}
+ if (_odeConfig.getThreadPoolMaxSize() == 0)
+ _executorService = Executors.newCachedThreadPool();
+ else
+ _executorService = Executors.newFixedThreadPool(_odeConfig.getThreadPoolMaxSize());
+
_executorService = Executors.newCachedThreadPool();
_server = new BpelServerImpl();
_scheduler = createScheduler();
Modified: incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java?view=diff&rev=515661&r1=515660&r2=515661
==============================================================================
--- incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java (original)
+++ incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/il/config/OdeConfigProperties.java Wed Mar 7 09:45:45 2007
@@ -64,6 +64,8 @@
private static final String PROP_DB_POOL_BLOCKING = "db.pool.blocking";
+ private static final String PROP_THREAD_POOL_SIZE = "threads.pool.size";
+
private static final String PROP_CONNECTOR_PORT = "jca.port";
private static final String PROP_CONNECTOR_NAME = "jca.name";
@@ -183,7 +185,9 @@
return Boolean.valueOf(getProperty(PROP_DB_POOL_BLOCKING,"false"));
}
-
+ public int getThreadPoolMaxSize() {
+ return Integer.valueOf(getProperty(OdeConfigProperties.PROP_THREAD_POOL_SIZE, "0"));
+ }
public int getPoolMaxSize() {
return Integer.valueOf(getProperty(OdeConfigProperties.PROP_POOL_MAX, "10"));
Modified: incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java?view=diff&rev=515661&r1=515660&r2=515661
==============================================================================
--- incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java (original)
+++ incubator/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java Wed Mar 7 09:45:45 2007
@@ -19,18 +19,6 @@
package org.apache.ode.jbi;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.util.concurrent.Executors;
-
-import javax.jbi.JBIException;
-import javax.jbi.component.ComponentContext;
-import javax.jbi.component.ComponentLifeCycle;
-import javax.jbi.component.ServiceUnitManager;
-import javax.management.ObjectName;
-import javax.naming.InitialContext;
-import javax.transaction.TransactionManager;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.ode.bpel.connector.BpelServerConnector;
@@ -43,6 +31,17 @@
import org.apache.ode.store.ProcessStoreImpl;
import org.apache.ode.utils.fs.TempFileManager;
+import javax.jbi.JBIException;
+import javax.jbi.component.ComponentContext;
+import javax.jbi.component.ComponentLifeCycle;
+import javax.jbi.component.ServiceUnitManager;
+import javax.management.ObjectName;
+import javax.naming.InitialContext;
+import javax.transaction.TransactionManager;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.util.concurrent.Executors;
+
/**
* This class implements ComponentLifeCycle. The JBI framework will start this engine class automatically when JBI framework starts
* up.
@@ -185,7 +184,10 @@
// we'll do that explcitly
_ode._eprContext = new EndpointReferenceContextImpl(_ode);
_ode._mexContext = new MessageExchangeContextImpl(_ode);
- _ode._executorService = Executors.newCachedThreadPool();
+ if (_ode._config.getThreadPoolMaxSize() == 0)
+ _ode._executorService = Executors.newCachedThreadPool();
+ else
+ _ode._executorService = Executors.newFixedThreadPool(_ode._config.getThreadPoolMaxSize());
_ode._scheduler = new QuartzSchedulerImpl();
_ode._scheduler.setJobProcessor(_ode._server);
_ode._scheduler.setExecutorService(_ode._executorService, 20);