You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Claus Ibsen <cl...@gmail.com> on 2009/01/22 06:09:33 UTC
Re: svn commit: r736287 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/component/browse/
camel-core/src/main/java/org/apache/camel/model/ camel-core/src/main/java/org/apache/camel/model/loadbalancer/
camel-core/src/main/java/org/apache/
Hi Willem
Well spotted.
Remember to remove the @deprecated in the javadoc from the camel 1.x
On Thu, Jan 22, 2009 at 4:12 AM, Willem Jiang <wi...@gmail.com> wrote:
> Hi Claus,
>
> I'm sorry we need to revert this change because I did not take a good
> look at the LoadBalancerConsumer.
>
> For the browser endpoint , if there are more than one
> from(BROWSER_ENDPOINT)... rule in the camel contextg, current change
> doesn't work. In this case the last from(BROWSER_ENDPOINT) will be called.
>
> LoadBalancerConusumer give us ability to set difference LoadBalancer on
> the consumers of this endpoint.
>
> From this respect we can't remove the TopicLoadBalancer.
>
> I will clean it up.
>
> Willem
>
> davsclaus@apache.org wrote:
>> Author: davsclaus
>> Date: Wed Jan 21 03:29:52 2009
>> New Revision: 736287
>>
>> URL: http://svn.apache.org/viewvc?rev=736287&view=rev
>> Log:
>> Removed @deprecated TopicLoadBalancer. Use Multicast instead.
>>
>> Removed:
>> camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/TopicLoadBalanceStrategy.java
>> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/TopicLoadBalancer.java
>> Modified:
>> camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
>> camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java
>> camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index
>> camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
>> camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
>>
>> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
>> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java?rev=736287&r1=736286&r2=736287&view=diff
>> ==============================================================================
>> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java (original)
>> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java Wed Jan 21 03:29:52 2009
>> @@ -16,8 +16,6 @@
>> */
>> package org.apache.camel.component.browse;
>>
>> -import java.beans.PropertyChangeListener;
>> -import java.beans.PropertyChangeSupport;
>> import java.util.List;
>> import java.util.concurrent.CopyOnWriteArrayList;
>>
>> @@ -28,10 +26,9 @@
>> import org.apache.camel.Processor;
>> import org.apache.camel.Producer;
>> import org.apache.camel.Service;
>> +import org.apache.camel.impl.DefaultConsumer;
>> import org.apache.camel.impl.DefaultEndpoint;
>> import org.apache.camel.impl.DefaultProducer;
>> -import org.apache.camel.processor.loadbalancer.LoadBalancerConsumer;
>> -import org.apache.camel.processor.loadbalancer.TopicLoadBalancer;
>> import org.apache.camel.spi.BrowsableEndpoint;
>>
>> /**
>> @@ -42,9 +39,10 @@
>> */
>> public class BrowseEndpoint extends DefaultEndpoint implements BrowsableEndpoint, Service {
>> private List<Exchange> exchanges;
>> - private TopicLoadBalancer loadBalancer = new TopicLoadBalancer();
>> - // TODO: firing of property changes not implemented
>> - private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
>> + private Processor processor;
>> +
>> + public BrowseEndpoint() {
>> + }
>>
>> public BrowseEndpoint(String uri, CamelContext camelContext) {
>> super(uri, camelContext);
>> @@ -66,18 +64,6 @@
>> return exchanges;
>> }
>>
>> - public TopicLoadBalancer getLoadBalancer() {
>> - return loadBalancer;
>> - }
>> -
>> - public void addPropertyChangeListener(PropertyChangeListener listener) {
>> - propertyChangeSupport.addPropertyChangeListener(listener);
>> - }
>> -
>> - public void removePropertyChangeListener(PropertyChangeListener listener) {
>> - propertyChangeSupport.removePropertyChangeListener(listener);
>> - }
>> -
>> public Producer createProducer() throws Exception {
>> return new DefaultProducer(this) {
>> public void process(Exchange exchange) throws Exception {
>> @@ -87,7 +73,8 @@
>> }
>>
>> public Consumer createConsumer(Processor processor) throws Exception {
>> - return new LoadBalancerConsumer(this, processor, loadBalancer);
>> + this.processor = processor;
>> + return new DefaultConsumer(this, processor);
>> }
>>
>> protected List<Exchange> createExchangeList() {
>> @@ -101,10 +88,13 @@
>> * @throws Exception is thrown if failed to process the exchange
>> */
>> protected void onExchange(Exchange exchange) throws Exception {
>> - exchanges.add(exchange);
>> + // add a copy of the Exchange at the given time
>> + exchanges.add(exchange.copy());
>>
>> - // lets fire any consumers
>> - loadBalancer.process(exchange);
>> + // lets continue processing if there are any consumers
>> + if (processor != null) {
>> + processor.process(exchange);
>> + }
>> }
>>
>> public void start() throws Exception {
>>
>> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java
>> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java?rev=736287&r1=736286&r2=736287&view=diff
>> ==============================================================================
>> --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java (original)
>> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java Wed Jan 21 03:29:52 2009
>> @@ -34,13 +34,11 @@
>> import org.apache.camel.model.loadbalancer.RandomLoadBalanceStrategy;
>> import org.apache.camel.model.loadbalancer.RoundRobinLoadBalanceStrategy;
>> import org.apache.camel.model.loadbalancer.StickyLoadBalanceStrategy;
>> -import org.apache.camel.model.loadbalancer.TopicLoadBalanceStrategy;
>> import org.apache.camel.processor.SendProcessor;
>> import org.apache.camel.processor.loadbalancer.LoadBalancer;
>> import org.apache.camel.processor.loadbalancer.RandomLoadBalancer;
>> import org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer;
>> import org.apache.camel.processor.loadbalancer.StickyLoadBalancer;
>> -import org.apache.camel.processor.loadbalancer.TopicLoadBalancer;
>> import org.apache.camel.spi.RouteContext;
>> import org.apache.camel.util.CollectionStringBuffer;
>>
>> @@ -56,8 +54,7 @@
>> @XmlElements({
>> @XmlElement(required = false, name = "roundRobin", type = RoundRobinLoadBalanceStrategy.class),
>> @XmlElement(required = false, name = "random", type = RandomLoadBalanceStrategy.class),
>> - @XmlElement(required = false, name = "sticky", type = StickyLoadBalanceStrategy.class),
>> - @XmlElement(required = false, name = "topic", type = TopicLoadBalanceStrategy.class)}
>> + @XmlElement(required = false, name = "sticky", type = StickyLoadBalanceStrategy.class)}
>> )
>> private LoadBalancerType loadBalancerType;
>>
>> @@ -176,16 +173,6 @@
>> return this;
>> }
>>
>> - /**
>> - * Uses topic load balancer
>> - *
>> - * @return the builder
>> - */
>> - public LoadBalanceType topic() {
>> - loadBalancerType = new LoadBalancerType(new TopicLoadBalancer());
>> - return this;
>> - }
>> -
>> @Override
>> public String getLabel() {
>> CollectionStringBuffer buffer = new CollectionStringBuffer();
>>
>> Modified: camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index
>> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index?rev=736287&r1=736286&r2=736287&view=diff
>> ==============================================================================
>> --- camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index (original)
>> +++ camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index Wed Jan 21 03:29:52 2009
>> @@ -17,5 +17,4 @@
>> LoadBalancerType
>> RandomLoadBalanceStrategy
>> RoundRobinLoadBalanceStrategy
>> -StickyLoadBalanceStrategy
>> -TopicLoadBalanceStrategy
>> \ No newline at end of file
>> +StickyLoadBalanceStrategy
>> \ No newline at end of file
>>
>> Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
>> URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java?rev=736287&r1=736286&r2=736287&view=diff
>> ==============================================================================
>> --- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java (original)
>> +++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java Wed Jan 21 03:29:52 2009
>> @@ -16,22 +16,22 @@
>> */
>> package org.apache.camel.component.event;
>>
>> +import java.util.ArrayList;
>> +
>> import org.apache.camel.Exchange;
>> import org.apache.camel.NoTypeConversionAvailableException;
>> import org.apache.camel.Processor;
>> import org.apache.camel.Producer;
>> import org.apache.camel.impl.DefaultEndpoint;
>> import org.apache.camel.impl.DefaultProducer;
>> -import org.apache.camel.processor.loadbalancer.LoadBalancer;
>> -import org.apache.camel.processor.loadbalancer.TopicLoadBalancer;
>> +import org.apache.camel.processor.MulticastProcessor;
>> import org.apache.camel.util.ObjectHelper;
>> +import static org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException;
>> import org.springframework.beans.BeansException;
>> import org.springframework.context.ApplicationContext;
>> import org.springframework.context.ApplicationContextAware;
>> import org.springframework.context.ApplicationEvent;
>>
>> -import static org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException;
>> -
>>
>> /**
>> * An <a href="http://activemq.apache.org/camel/event.html">Event Endpoint</a>
>> @@ -40,7 +40,7 @@
>> * @version $Revision$
>> */
>> public class EventEndpoint extends DefaultEndpoint implements ApplicationContextAware {
>> - private LoadBalancer loadBalancer;
>> + private MulticastProcessor processor;
>> private ApplicationContext applicationContext;
>>
>> public EventEndpoint(String endpointUri, EventComponent component) {
>> @@ -82,35 +82,27 @@
>> Exchange exchange = createExchange();
>> exchange.getIn().setBody(event);
>> try {
>> - getLoadBalancer().process(exchange);
>> + getMulticastProcessor().process(exchange);
>> } catch (Exception e) {
>> throw wrapRuntimeCamelException(e);
>> }
>> }
>>
>> - public LoadBalancer getLoadBalancer() {
>> - if (loadBalancer == null) {
>> - loadBalancer = createLoadBalancer();
>> + protected synchronized MulticastProcessor getMulticastProcessor() {
>> + if (processor == null) {
>> + processor = new MulticastProcessor(new ArrayList<Processor>());
>> }
>> - return loadBalancer;
>> - }
>> -
>> - public void setLoadBalancer(LoadBalancer loadBalancer) {
>> - this.loadBalancer = loadBalancer;
>> + return processor;
>> }
>>
>> // Implementation methods
>> // -------------------------------------------------------------------------
>> public synchronized void consumerStarted(EventConsumer consumer) {
>> - getLoadBalancer().addProcessor(consumer.getProcessor());
>> + getMulticastProcessor().getProcessors().add(consumer.getProcessor());
>> }
>>
>> public synchronized void consumerStopped(EventConsumer consumer) {
>> - getLoadBalancer().removeProcessor(consumer.getProcessor());
>> - }
>> -
>> - protected LoadBalancer createLoadBalancer() {
>> - return new TopicLoadBalancer();
>> + getMulticastProcessor().getProcessors().remove(consumer.getProcessor());
>> }
>>
>> protected ApplicationEvent toApplicationEvent(Exchange exchange) {
>>
>> Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
>> URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java?rev=736287&r1=736286&r2=736287&view=diff
>> ==============================================================================
>> --- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java (original)
>> +++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java Wed Jan 21 03:29:52 2009
>> @@ -38,7 +38,6 @@
>> import org.apache.camel.model.loadbalancer.RandomLoadBalanceStrategy;
>> import org.apache.camel.model.loadbalancer.RoundRobinLoadBalanceStrategy;
>> import org.apache.camel.model.loadbalancer.StickyLoadBalanceStrategy;
>> -import org.apache.camel.model.loadbalancer.TopicLoadBalanceStrategy;
>> import org.apache.camel.spi.NamespaceAware;
>> import org.apache.camel.spring.CamelBeanPostProcessor;
>> import org.apache.camel.spring.CamelContextFactoryBean;
>> @@ -91,7 +90,6 @@
>> addBeanDefinitionParser("roundRobin", RoundRobinLoadBalanceStrategy.class);
>> addBeanDefinitionParser("random", RandomLoadBalanceStrategy.class);
>> addBeanDefinitionParser("sticky", StickyLoadBalanceStrategy.class);
>> - addBeanDefinitionParser("topic", TopicLoadBalanceStrategy.class);
>>
>> // jmx agent
>> addBeanDefinitionParser("jmxAgent", CamelJMXAgentType.class);
>>
>>
>>
>
>
--
Claus Ibsen
Apache Camel Committer
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Re: svn commit: r736287 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/component/browse/
camel-core/src/main/java/org/apache/camel/model/ camel-core/src/main/java/org/apache/camel/model/loadbalancer/
camel-core/src/main/java/org/apache/
Posted by Willem Jiang <wi...@gmail.com>.
Done.
Claus Ibsen wrote:
> Hi Willem
>
> Well spotted.
>
> Remember to remove the @deprecated in the javadoc from the camel 1.x
>
> On Thu, Jan 22, 2009 at 4:12 AM, Willem Jiang <wi...@gmail.com> wrote:
>> Hi Claus,
>>
>> I'm sorry we need to revert this change because I did not take a good
>> look at the LoadBalancerConsumer.
>>
>> For the browser endpoint , if there are more than one
>> from(BROWSER_ENDPOINT)... rule in the camel contextg, current change
>> doesn't work. In this case the last from(BROWSER_ENDPOINT) will be called.
>>
>> LoadBalancerConusumer give us ability to set difference LoadBalancer on
>> the consumers of this endpoint.
>>
>> From this respect we can't remove the TopicLoadBalancer.
>>
>> I will clean it up.
>>
>> Willem
>>
>> davsclaus@apache.org wrote:
>>> Author: davsclaus
>>> Date: Wed Jan 21 03:29:52 2009
>>> New Revision: 736287
>>>
>>> URL: http://svn.apache.org/viewvc?rev=736287&view=rev
>>> Log:
>>> Removed @deprecated TopicLoadBalancer. Use Multicast instead.
>>>
>>> Removed:
>>> camel/trunk/camel-core/src/main/java/org/apache/camel/model/loadbalancer/TopicLoadBalanceStrategy.java
>>> camel/trunk/camel-core/src/main/java/org/apache/camel/processor/loadbalancer/TopicLoadBalancer.java
>>> Modified:
>>> camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
>>> camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java
>>> camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index
>>> camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
>>> camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
>>>
>>> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java
>>> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java?rev=736287&r1=736286&r2=736287&view=diff
>>> ==============================================================================
>>> --- camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java (original)
>>> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/component/browse/BrowseEndpoint.java Wed Jan 21 03:29:52 2009
>>> @@ -16,8 +16,6 @@
>>> */
>>> package org.apache.camel.component.browse;
>>>
>>> -import java.beans.PropertyChangeListener;
>>> -import java.beans.PropertyChangeSupport;
>>> import java.util.List;
>>> import java.util.concurrent.CopyOnWriteArrayList;
>>>
>>> @@ -28,10 +26,9 @@
>>> import org.apache.camel.Processor;
>>> import org.apache.camel.Producer;
>>> import org.apache.camel.Service;
>>> +import org.apache.camel.impl.DefaultConsumer;
>>> import org.apache.camel.impl.DefaultEndpoint;
>>> import org.apache.camel.impl.DefaultProducer;
>>> -import org.apache.camel.processor.loadbalancer.LoadBalancerConsumer;
>>> -import org.apache.camel.processor.loadbalancer.TopicLoadBalancer;
>>> import org.apache.camel.spi.BrowsableEndpoint;
>>>
>>> /**
>>> @@ -42,9 +39,10 @@
>>> */
>>> public class BrowseEndpoint extends DefaultEndpoint implements BrowsableEndpoint, Service {
>>> private List<Exchange> exchanges;
>>> - private TopicLoadBalancer loadBalancer = new TopicLoadBalancer();
>>> - // TODO: firing of property changes not implemented
>>> - private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);
>>> + private Processor processor;
>>> +
>>> + public BrowseEndpoint() {
>>> + }
>>>
>>> public BrowseEndpoint(String uri, CamelContext camelContext) {
>>> super(uri, camelContext);
>>> @@ -66,18 +64,6 @@
>>> return exchanges;
>>> }
>>>
>>> - public TopicLoadBalancer getLoadBalancer() {
>>> - return loadBalancer;
>>> - }
>>> -
>>> - public void addPropertyChangeListener(PropertyChangeListener listener) {
>>> - propertyChangeSupport.addPropertyChangeListener(listener);
>>> - }
>>> -
>>> - public void removePropertyChangeListener(PropertyChangeListener listener) {
>>> - propertyChangeSupport.removePropertyChangeListener(listener);
>>> - }
>>> -
>>> public Producer createProducer() throws Exception {
>>> return new DefaultProducer(this) {
>>> public void process(Exchange exchange) throws Exception {
>>> @@ -87,7 +73,8 @@
>>> }
>>>
>>> public Consumer createConsumer(Processor processor) throws Exception {
>>> - return new LoadBalancerConsumer(this, processor, loadBalancer);
>>> + this.processor = processor;
>>> + return new DefaultConsumer(this, processor);
>>> }
>>>
>>> protected List<Exchange> createExchangeList() {
>>> @@ -101,10 +88,13 @@
>>> * @throws Exception is thrown if failed to process the exchange
>>> */
>>> protected void onExchange(Exchange exchange) throws Exception {
>>> - exchanges.add(exchange);
>>> + // add a copy of the Exchange at the given time
>>> + exchanges.add(exchange.copy());
>>>
>>> - // lets fire any consumers
>>> - loadBalancer.process(exchange);
>>> + // lets continue processing if there are any consumers
>>> + if (processor != null) {
>>> + processor.process(exchange);
>>> + }
>>> }
>>>
>>> public void start() throws Exception {
>>>
>>> Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java
>>> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java?rev=736287&r1=736286&r2=736287&view=diff
>>> ==============================================================================
>>> --- camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java (original)
>>> +++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/LoadBalanceType.java Wed Jan 21 03:29:52 2009
>>> @@ -34,13 +34,11 @@
>>> import org.apache.camel.model.loadbalancer.RandomLoadBalanceStrategy;
>>> import org.apache.camel.model.loadbalancer.RoundRobinLoadBalanceStrategy;
>>> import org.apache.camel.model.loadbalancer.StickyLoadBalanceStrategy;
>>> -import org.apache.camel.model.loadbalancer.TopicLoadBalanceStrategy;
>>> import org.apache.camel.processor.SendProcessor;
>>> import org.apache.camel.processor.loadbalancer.LoadBalancer;
>>> import org.apache.camel.processor.loadbalancer.RandomLoadBalancer;
>>> import org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer;
>>> import org.apache.camel.processor.loadbalancer.StickyLoadBalancer;
>>> -import org.apache.camel.processor.loadbalancer.TopicLoadBalancer;
>>> import org.apache.camel.spi.RouteContext;
>>> import org.apache.camel.util.CollectionStringBuffer;
>>>
>>> @@ -56,8 +54,7 @@
>>> @XmlElements({
>>> @XmlElement(required = false, name = "roundRobin", type = RoundRobinLoadBalanceStrategy.class),
>>> @XmlElement(required = false, name = "random", type = RandomLoadBalanceStrategy.class),
>>> - @XmlElement(required = false, name = "sticky", type = StickyLoadBalanceStrategy.class),
>>> - @XmlElement(required = false, name = "topic", type = TopicLoadBalanceStrategy.class)}
>>> + @XmlElement(required = false, name = "sticky", type = StickyLoadBalanceStrategy.class)}
>>> )
>>> private LoadBalancerType loadBalancerType;
>>>
>>> @@ -176,16 +173,6 @@
>>> return this;
>>> }
>>>
>>> - /**
>>> - * Uses topic load balancer
>>> - *
>>> - * @return the builder
>>> - */
>>> - public LoadBalanceType topic() {
>>> - loadBalancerType = new LoadBalancerType(new TopicLoadBalancer());
>>> - return this;
>>> - }
>>> -
>>> @Override
>>> public String getLabel() {
>>> CollectionStringBuffer buffer = new CollectionStringBuffer();
>>>
>>> Modified: camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index
>>> URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index?rev=736287&r1=736286&r2=736287&view=diff
>>> ==============================================================================
>>> --- camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index (original)
>>> +++ camel/trunk/camel-core/src/main/resources/org/apache/camel/model/loadbalancer/jaxb.index Wed Jan 21 03:29:52 2009
>>> @@ -17,5 +17,4 @@
>>> LoadBalancerType
>>> RandomLoadBalanceStrategy
>>> RoundRobinLoadBalanceStrategy
>>> -StickyLoadBalanceStrategy
>>> -TopicLoadBalanceStrategy
>>> \ No newline at end of file
>>> +StickyLoadBalanceStrategy
>>> \ No newline at end of file
>>>
>>> Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
>>> URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java?rev=736287&r1=736286&r2=736287&view=diff
>>> ==============================================================================
>>> --- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java (original)
>>> +++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java Wed Jan 21 03:29:52 2009
>>> @@ -16,22 +16,22 @@
>>> */
>>> package org.apache.camel.component.event;
>>>
>>> +import java.util.ArrayList;
>>> +
>>> import org.apache.camel.Exchange;
>>> import org.apache.camel.NoTypeConversionAvailableException;
>>> import org.apache.camel.Processor;
>>> import org.apache.camel.Producer;
>>> import org.apache.camel.impl.DefaultEndpoint;
>>> import org.apache.camel.impl.DefaultProducer;
>>> -import org.apache.camel.processor.loadbalancer.LoadBalancer;
>>> -import org.apache.camel.processor.loadbalancer.TopicLoadBalancer;
>>> +import org.apache.camel.processor.MulticastProcessor;
>>> import org.apache.camel.util.ObjectHelper;
>>> +import static org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException;
>>> import org.springframework.beans.BeansException;
>>> import org.springframework.context.ApplicationContext;
>>> import org.springframework.context.ApplicationContextAware;
>>> import org.springframework.context.ApplicationEvent;
>>>
>>> -import static org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException;
>>> -
>>>
>>> /**
>>> * An <a href="http://activemq.apache.org/camel/event.html">Event Endpoint</a>
>>> @@ -40,7 +40,7 @@
>>> * @version $Revision$
>>> */
>>> public class EventEndpoint extends DefaultEndpoint implements ApplicationContextAware {
>>> - private LoadBalancer loadBalancer;
>>> + private MulticastProcessor processor;
>>> private ApplicationContext applicationContext;
>>>
>>> public EventEndpoint(String endpointUri, EventComponent component) {
>>> @@ -82,35 +82,27 @@
>>> Exchange exchange = createExchange();
>>> exchange.getIn().setBody(event);
>>> try {
>>> - getLoadBalancer().process(exchange);
>>> + getMulticastProcessor().process(exchange);
>>> } catch (Exception e) {
>>> throw wrapRuntimeCamelException(e);
>>> }
>>> }
>>>
>>> - public LoadBalancer getLoadBalancer() {
>>> - if (loadBalancer == null) {
>>> - loadBalancer = createLoadBalancer();
>>> + protected synchronized MulticastProcessor getMulticastProcessor() {
>>> + if (processor == null) {
>>> + processor = new MulticastProcessor(new ArrayList<Processor>());
>>> }
>>> - return loadBalancer;
>>> - }
>>> -
>>> - public void setLoadBalancer(LoadBalancer loadBalancer) {
>>> - this.loadBalancer = loadBalancer;
>>> + return processor;
>>> }
>>>
>>> // Implementation methods
>>> // -------------------------------------------------------------------------
>>> public synchronized void consumerStarted(EventConsumer consumer) {
>>> - getLoadBalancer().addProcessor(consumer.getProcessor());
>>> + getMulticastProcessor().getProcessors().add(consumer.getProcessor());
>>> }
>>>
>>> public synchronized void consumerStopped(EventConsumer consumer) {
>>> - getLoadBalancer().removeProcessor(consumer.getProcessor());
>>> - }
>>> -
>>> - protected LoadBalancer createLoadBalancer() {
>>> - return new TopicLoadBalancer();
>>> + getMulticastProcessor().getProcessors().remove(consumer.getProcessor());
>>> }
>>>
>>> protected ApplicationEvent toApplicationEvent(Exchange exchange) {
>>>
>>> Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java
>>> URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java?rev=736287&r1=736286&r2=736287&view=diff
>>> ==============================================================================
>>> --- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java (original)
>>> +++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/handler/CamelNamespaceHandler.java Wed Jan 21 03:29:52 2009
>>> @@ -38,7 +38,6 @@
>>> import org.apache.camel.model.loadbalancer.RandomLoadBalanceStrategy;
>>> import org.apache.camel.model.loadbalancer.RoundRobinLoadBalanceStrategy;
>>> import org.apache.camel.model.loadbalancer.StickyLoadBalanceStrategy;
>>> -import org.apache.camel.model.loadbalancer.TopicLoadBalanceStrategy;
>>> import org.apache.camel.spi.NamespaceAware;
>>> import org.apache.camel.spring.CamelBeanPostProcessor;
>>> import org.apache.camel.spring.CamelContextFactoryBean;
>>> @@ -91,7 +90,6 @@
>>> addBeanDefinitionParser("roundRobin", RoundRobinLoadBalanceStrategy.class);
>>> addBeanDefinitionParser("random", RandomLoadBalanceStrategy.class);
>>> addBeanDefinitionParser("sticky", StickyLoadBalanceStrategy.class);
>>> - addBeanDefinitionParser("topic", TopicLoadBalanceStrategy.class);
>>>
>>> // jmx agent
>>> addBeanDefinitionParser("jmxAgent", CamelJMXAgentType.class);
>>>
>>>
>>>
>>
>
>
>