You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2008/11/09 09:12:08 UTC
svn commit: r712472 - in /activemq/camel/trunk/camel-core/src:
main/java/org/apache/camel/component/direct/
test/java/org/apache/camel/component/direct/
Author: davsclaus
Date: Sun Nov 9 00:12:08 2008
New Revision: 712472
URL: http://svn.apache.org/viewvc?rev=712472&view=rev
Log:
CAMEL-656: Polished direct component
Added:
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoMultipleConsumersTest.java (contents, props changed)
- copied, changed from r712398, activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoToTypeTest.java
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java?rev=712472&r1=712471&r2=712472&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectEndpoint.java Sun Nov 9 00:12:08 2008
@@ -25,8 +25,6 @@
import org.apache.camel.Producer;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.impl.DefaultEndpoint;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
* Represents a direct endpoint that synchronously invokes the consumers of the
@@ -35,7 +33,6 @@
* @version $Revision$
*/
public class DirectEndpoint<E extends Exchange> extends DefaultEndpoint<E> {
- private static final transient Log LOG = LogFactory.getLog(DirectEndpoint.class);
private boolean allowMultipleConsumers = true;
private final CopyOnWriteArrayList<DefaultConsumer<E>> consumers = new CopyOnWriteArrayList<DefaultConsumer<E>>();
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java?rev=712472&r1=712471&r2=712472&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/direct/DirectProducer.java Sun Nov 9 00:12:08 2008
@@ -41,7 +41,7 @@
public void process(Exchange exchange) throws Exception {
if (endpoint.getConsumers().isEmpty()) {
- LOG.warn("No getConsumers() available on " + this + " for " + exchange);
+ LOG.warn("No consumers available on " + this + " to process " + exchange);
} else {
for (DefaultConsumer<E> consumer : endpoint.getConsumers()) {
consumer.getProcessor().process(exchange);
@@ -52,7 +52,7 @@
public boolean process(Exchange exchange, AsyncCallback callback) {
int size = endpoint.getConsumers().size();
if (size == 0) {
- LOG.warn("No getConsumers() available on " + this + " for " + exchange);
+ LOG.warn("No consumers available on " + this + " to process " + exchange);
} else if (size == 1) {
DefaultConsumer<E> consumer = endpoint.getConsumers().get(0);
AsyncProcessor processor = AsyncProcessorTypeConverter.convert(consumer.getProcessor());
Copied: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoMultipleConsumersTest.java (from r712398, activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoToTypeTest.java)
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoMultipleConsumersTest.java?p2=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoMultipleConsumersTest.java&p1=activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoToTypeTest.java&r1=712398&r2=712472&rev=712472&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoToTypeTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoMultipleConsumersTest.java Sun Nov 9 00:12:08 2008
@@ -16,32 +16,33 @@
*/
package org.apache.camel.component.direct;
-import org.apache.camel.ContextTestSupport;
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
+import junit.framework.TestCase;
+import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
/**
- * Simple unit test based on user forum question.
+ * MultipleConsumers option test.
*/
-public class DirectNoToTypeTest extends ContextTestSupport {
+public class DirectNoMultipleConsumersTest extends TestCase {
- public void testNoToType() throws Exception {
- Object response = template.requestBody("direct:in", "Hello");
- assertEquals("Hello World", response);
- }
+ public void testNoMultipleConsumersTest() throws Exception {
+ CamelContext container = new DefaultCamelContext();
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
+ container.addRoutes(new RouteBuilder() {
public void configure() throws Exception {
- from("direct:in").process(new Processor() {
- public void process(Exchange exchange) throws Exception {
- String body = exchange.getIn().getBody(String.class);
- exchange.getOut(true).setBody(body + " World");
- }
- });
+ from("direct:in?allowMultipleConsumers=false").to("mock:result");
+
+ from("direct:in?allowMultipleConsumers=false").to("mock:result");
}
- };
+ });
+
+ try {
+ container.start();
+ fail("Should have thrown an IllegalStateException");
+ } catch (IllegalStateException e) {
+ // expected
+ }
}
-}
+}
\ No newline at end of file
Propchange: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoMultipleConsumersTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoMultipleConsumersTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/direct/DirectNoMultipleConsumersTest.java
------------------------------------------------------------------------------
svn:mergeinfo =