You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2008/08/12 15:58:50 UTC
svn commit: r685153 - in /activemq/camel/trunk:
camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java
components/camel-spring/src/test/resources/org/apache/camel/spring/processor/loadBalance.xml
Author: ningjiang
Date: Tue Aug 12 06:58:49 2008
New Revision: 685153
URL: http://svn.apache.org/viewvc?rev=685153&view=rev
Log:
CAMEL-815 support to set the loadBalancerStrategy before the outputs elements
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java
activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/loadBalance.xml
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java?rev=685153&r1=685152&r2=685153&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java Tue Aug 12 06:58:49 2008
@@ -16,6 +16,7 @@
*/
package org.apache.camel.model;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -23,6 +24,7 @@
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElements;
import javax.xml.bind.annotation.XmlRootElement;
@@ -48,7 +50,7 @@
*/
@XmlRootElement(name = "loadBalance")
@XmlAccessorType(XmlAccessType.FIELD)
-public class LoadBalanceType extends OutputType<LoadBalanceType> {
+public class LoadBalanceType extends ProcessorType<LoadBalanceType> {
@XmlAttribute(required = false)
private String ref;
@@ -60,6 +62,9 @@
)
private LoadBalancerType loadBalancerType;
+ @XmlElementRef
+ private List<ProcessorType<?>> outputs = new ArrayList<ProcessorType<?>>();
+
public LoadBalanceType() {
}
@@ -68,6 +73,28 @@
return "loadbalance";
}
+ public List<ProcessorType<?>> getOutputs() {
+ return outputs;
+ }
+
+ public void setOutputs(List<ProcessorType<?>> outputs) {
+ this.outputs = outputs;
+ if (outputs != null) {
+ for (ProcessorType output : outputs) {
+ configureChild(output);
+ }
+ }
+ }
+
+
+ @Override
+ protected void configureChild(ProcessorType output) {
+ super.configureChild(output);
+ if (isInheritErrorHandler()) {
+ output.setErrorHandlerBuilder(getErrorHandlerBuilder());
+ }
+ }
+
public String getRef() {
return ref;
}
Modified: activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/loadBalance.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/loadBalance.xml?rev=685153&r1=685152&r2=685153&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/loadBalance.xml (original)
+++ activemq/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/loadBalance.xml Tue Aug 12 06:58:49 2008
@@ -22,16 +22,17 @@
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
">
-
+
<!-- START SNIPPET: example -->
- <bean id = "roundRobinRef" class="org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer" />
+
<camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring">
<route>
<from uri="direct:start"/>
- <loadBalance ref="roundRobinRef">
- <to uri="mock:x"/>
- <to uri="mock:y"/>
- <to uri="mock:z"/>
+ <loadBalance>
+ <roundRobin/>
+ <to uri="mock:x"/>
+ <to uri="mock:y"/>
+ <to uri="mock:z"/>
</loadBalance>
</route>
</camelContext>