Author: davsclaus
Date: Tue Mar 16 09:34:46 2010
New Revision: 923645
URL: http://svn.apache.org/viewvc?rev=923645&view=rev
Log:
CAMEL-1588: Introduced ThreadPoolProfile with a sensible default used by EIPs.
Introduced ThreadPoolBuilder to easily create pools from Java.
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java
Modified:
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java
URL:
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java?rev=923645&r1=923644&r2=923645&view=diff
==============================================================================
---
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java
(original)
+++
camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultExecutorServiceStrategy.java
Tue Mar 16 09:34:46 2010
@@ -51,7 +51,7 @@ public class DefaultExecutorServiceStrat
}
public void setDefaultThreadPoolProfile(ThreadPoolProfile
defaultThreadPoolProfile) {
- // the old is no long default
+ // the old is no longer default
if (this.defaultThreadPoolProfile != null) {
this.defaultThreadPoolProfile.setDefaultProfile(false);
}
Modified:
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java?rev=923645&r1=923644&r2=923645&view=diff
==============================================================================
---
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java
(original)
+++
camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/CamelExecutorServiceFactoryBean.java
Tue Mar 16 09:34:46 2010
@@ -45,19 +45,21 @@ import static org.apache.camel.util.Obje
@XmlAccessorType(XmlAccessType.FIELD)
public class CamelExecutorServiceFactoryBean extends IdentifiedType implements
FactoryBean, CamelContextAware, ApplicationContextAware {
- @XmlAttribute(required = false)
+ @XmlAttribute
private Integer poolSize;
- @XmlAttribute(required = false)
+ @XmlAttribute
private Integer maxPoolSize;
- @XmlAttribute(required = false)
+ @XmlAttribute
private Integer keepAliveTime = 60;
- @XmlAttribute(required = false)
+ @XmlAttribute
@XmlJavaTypeAdapter(TimeUnitAdapter.class)
private TimeUnit units = TimeUnit.SECONDS;
- @XmlAttribute(required = false)
+ @XmlAttribute
+ private Integer maxQueueSize = -1;
+ @XmlAttribute
private String threadName;
@XmlAttribute
- private Boolean deamon = Boolean.TRUE;
+ private Boolean daemon = Boolean.TRUE;
@XmlAttribute
private String camelContextId;
@XmlTransient
@@ -75,13 +77,13 @@ public class CamelExecutorServiceFactory
ExecutorService answer;
if (getPoolSize() == null || getPoolSize() <= 0) {
- // use the cached thread pool
- answer =
camelContext.getExecutorServiceStrategy().newCachedThreadPool(getId(), name);
+ // use the default profile
+ answer =
camelContext.getExecutorServiceStrategy().newDefaultThreadPool(getId(), name);
} else {
// use a custom pool based on the settings
int max = getMaxPoolSize() != null ? getMaxPoolSize() :
getPoolSize();
answer = camelContext.getExecutorServiceStrategy()
- .newThreadPool(getId(), name, getPoolSize(), max,
getKeepAliveTime(), getUnits(), isDeamon());
+ .newThreadPool(getId(), name, getPoolSize(), max,
getKeepAliveTime(), getUnits(), getMaxQueueSize(), isDaemon());
}
return answer;
}
@@ -126,6 +128,14 @@ public class CamelExecutorServiceFactory
this.units = units;
}
+ public Integer getMaxQueueSize() {
+ return maxQueueSize;
+ }
+
+ public void setMaxQueueSize(Integer maxQueueSize) {
+ this.maxQueueSize = maxQueueSize;
+ }
+
public String getThreadName() {
return threadName;
}
@@ -134,12 +144,12 @@ public class CamelExecutorServiceFactory
this.threadName = threadName;
}
- public Boolean isDeamon() {
- return deamon;
+ public Boolean isDaemon() {
+ return daemon;
}
- public void setDeamon(Boolean deamon) {
- this.deamon = deamon;
+ public void setDaemon(Boolean daemon) {
+ this.daemon = daemon;
}
public String getCamelContextId() {