Repository: camel Updated Branches: refs/heads/camel-2.16.x 2d1375060 -> 15ec21887
CAMEL-9318: camel-twitter event should extend default component and not direct. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/15ec2188 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/15ec2188 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/15ec2188 Branch: refs/heads/camel-2.16.x Commit: 15ec2188728bac58e15f8f00ec50985c1875bd16 Parents: 2d13750 Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Nov 13 15:50:55 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Nov 13 15:52:26 2015 +0100 ---------------------------------------------------------------------- .../twitter/consumer/TwitterConsumerDirect.java | 4 ++-- .../twitter/consumer/TwitterConsumerEvent.java | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/15ec2188/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerDirect.java ---------------------------------------------------------------------- diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerDirect.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerDirect.java index 6878ad3..ced7e3b 100644 --- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerDirect.java +++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerDirect.java @@ -21,13 +21,13 @@ import java.util.Iterator; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.camel.component.direct.DirectConsumer; import org.apache.camel.component.twitter.TwitterEndpoint; +import org.apache.camel.impl.DefaultConsumer; /** * Camel DirectConsumer implementation. */ -public class TwitterConsumerDirect extends DirectConsumer { +public class TwitterConsumerDirect extends DefaultConsumer { private Twitter4JConsumer twitter4jConsumer; http://git-wip-us.apache.org/repos/asf/camel/blob/15ec2188/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java ---------------------------------------------------------------------- diff --git a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java index daa3ce6..4feaf8a 100644 --- a/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java +++ b/components/camel-twitter/src/main/java/org/apache/camel/component/twitter/consumer/TwitterConsumerEvent.java @@ -18,19 +18,17 @@ package org.apache.camel.component.twitter.consumer; import org.apache.camel.Exchange; import org.apache.camel.Processor; -import org.apache.camel.component.direct.DirectConsumer; import org.apache.camel.component.twitter.TwitterEndpoint; import org.apache.camel.component.twitter.consumer.streaming.StreamingConsumer; - +import org.apache.camel.impl.DefaultConsumer; import twitter4j.Status; -public class TwitterConsumerEvent extends DirectConsumer implements TweeterStatusListener { +public class TwitterConsumerEvent extends DefaultConsumer implements TweeterStatusListener { private Twitter4JConsumer twitter4jConsumer; public TwitterConsumerEvent(TwitterEndpoint endpoint, Processor processor, Twitter4JConsumer twitter4jConsumer) { super(endpoint, processor); - this.twitter4jConsumer = twitter4jConsumer; } @@ -56,10 +54,15 @@ public class TwitterConsumerEvent extends DirectConsumer implements TweeterStatu public void onStatus(Status status) { Exchange exchange = getEndpoint().createExchange(); exchange.getIn().setBody(status); + try { getProcessor().process(exchange); } catch (Exception e) { - throw new RuntimeException(e); + exchange.setException(e); + } + + if (exchange.getException() != null) { + getExceptionHandler().handleException("Error processing exchange on status update", exchange, exchange.getException()); } } }