You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by js...@apache.org on 2007/09/04 13:33:25 UTC
svn commit: r572625 - in /activemq/camel/trunk:
camel-core/src/main/java/org/apache/camel/
camel-core/src/main/java/org/apache/camel/component/bean/
camel-core/src/main/java/org/apache/camel/component/direct/
camel-core/src/main/java/org/apache/camel/c...
Author: jstrachan
Date: Tue Sep 4 04:33:23 2007
New Revision: 572625
URL: http://svn.apache.org/viewvc?rev=572625&view=rev
Log:
further improvements for CAMEL-133, a client can now create an exchange on an endpoint specifying the ExchangePattern it wants to use for an Exchange via Endpoint.createExchange(pattern)
Modified:
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Endpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanExchange.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
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/file/FileEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXExchange.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/MyExchange.java
activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/ProducerTest.java
activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalEndpoint.java
activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java
activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java
activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java
activemq/camel/trunk/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java
activemq/camel/trunk/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java
activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java
activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaExchange.java
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java
activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Endpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Endpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Endpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/Endpoint.java Tue Sep 4 04:33:23 2007
@@ -47,6 +47,15 @@
E createExchange();
/**
+ * Create a new exchange for communicating with this endpoint
+ * with the specified {@link ExchangePattern} such as whether its going
+ * to be an {@link ExchangePattern#InOnly} or {@link ExchangePattern#InOut} exchange
+ *
+ * @param pattern the message exchange pattern for the exchange
+ */
+ E createExchange(ExchangePattern pattern);
+
+ /**
* Creates a new exchange for communicating with this exchange using the
* given exchange to pre-populate the values of the headers and messages
*/
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/BeanExchange.java Tue Sep 4 04:33:23 2007
@@ -18,6 +18,7 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
/**
@@ -25,8 +26,8 @@
*/
public class BeanExchange extends DefaultExchange {
- public BeanExchange(CamelContext context) {
- super(context);
+ public BeanExchange(CamelContext context, ExchangePattern pattern) {
+ super(context, pattern);
}
public BeanInvocation getInvocation() {
@@ -39,6 +40,6 @@
@Override
public Exchange newInstance() {
- return new BeanExchange(getContext());
+ return new BeanExchange(getContext(), getPattern());
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/bean/CamelInvocationHandler.java Tue Sep 4 04:33:23 2007
@@ -22,6 +22,7 @@
import org.apache.camel.Endpoint;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
/**
* An {@link java.lang.reflect.InvocationHandler} which invokes a
@@ -40,7 +41,7 @@
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
BeanInvocation invocation = new BeanInvocation(proxy, method, args);
- BeanExchange exchange = new BeanExchange(endpoint.getContext());
+ BeanExchange exchange = new BeanExchange(endpoint.getContext(), ExchangePattern.InOut);
exchange.setInvocation(invocation);
producer.process(exchange);
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=572625&r1=572624&r2=572625&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 Tue Sep 4 04:33:23 2007
@@ -22,6 +22,7 @@
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
@@ -81,12 +82,6 @@
consumers.remove(this);
}
};
- }
-
- public E createExchange() {
- // How can we create a specific Exchange if we are generic??
- // perhaps it would be better if we did not implement this.
- return (E)new DefaultExchange(getContext());
}
public boolean isAllowMultipleConsumers() {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileEndpoint.java Tue Sep 4 04:33:23 2007
@@ -19,6 +19,7 @@
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.component.file.strategy.DefaultFileRenamer;
import org.apache.camel.component.file.strategy.DeleteFileProcessStrategy;
import org.apache.camel.component.file.strategy.FileProcessStrategy;
@@ -85,7 +86,7 @@
* @see org.apache.camel.Endpoint#createExchange()
*/
public FileExchange createExchange(File file) {
- return new FileExchange(getContext(), file);
+ return new FileExchange(getContext(), getDefaultPattern(), file);
}
/**
@@ -94,6 +95,10 @@
*/
public FileExchange createExchange() {
return createExchange(getFile());
+ }
+
+ public FileExchange createExchange(ExchangePattern pattern) {
+ return new FileExchange(getContext(), pattern, file);
}
public File getFile() {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/file/FileExchange.java Tue Sep 4 04:33:23 2007
@@ -18,6 +18,7 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
import java.io.File;
@@ -30,8 +31,8 @@
public class FileExchange extends DefaultExchange {
private File file;
- public FileExchange(CamelContext camelContext, File file) {
- super(camelContext);
+ public FileExchange(CamelContext camelContext, ExchangePattern pattern, File file) {
+ super(camelContext, pattern);
setIn(new FileMessage(file));
this.file = file;
}
@@ -51,6 +52,6 @@
}
public Exchange newInstance() {
- return new FileExchange(getContext(), getFile());
+ return new FileExchange(getContext(), getPattern(), getFile());
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXEndpoint.java Tue Sep 4 04:33:23 2007
@@ -23,6 +23,7 @@
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -91,11 +92,15 @@
}
public JMXExchange createExchange(Notification notification) {
- return new JMXExchange(getContext(), notification);
+ return new JMXExchange(getContext(), getDefaultPattern(), notification);
}
public JMXExchange createExchange() {
- return new JMXExchange(getContext(), null);
+ return new JMXExchange(getContext(), getDefaultPattern(), null);
+ }
+
+ public JMXExchange createExchange(ExchangePattern pattern) {
+ return new JMXExchange(getContext(), pattern, null);
}
public String getAttributeName() {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/jmx/JMXExchange.java Tue Sep 4 04:33:23 2007
@@ -16,10 +16,13 @@
*/
package org.apache.camel.component.jmx;
-import javax.management.Notification;
import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
+import javax.management.Notification;
+
/**
* A {@link Exchange} for a jmx notification
*
@@ -31,10 +34,10 @@
* Constructor
*
* @param camelContext
- * @param file
+ * @param pattern
*/
- public JMXExchange(CamelContext camelContext, Notification notification) {
- super(camelContext);
+ public JMXExchange(CamelContext camelContext, ExchangePattern pattern, Notification notification) {
+ super(camelContext, pattern);
setIn(new JMXMessage(notification));
}
}
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/mock/MockEndpoint.java Tue Sep 4 04:33:23 2007
@@ -31,6 +31,7 @@
import org.apache.camel.Message;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.impl.DefaultProducer;
@@ -96,10 +97,6 @@
for (MockEndpoint endpoint : endpoints) {
endpoint.expectsMessageCount(count);
}
- }
-
- public Exchange createExchange() {
- return new DefaultExchange(getContext());
}
public Consumer<Exchange> createConsumer(Processor processor) throws Exception {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/seda/SedaEndpoint.java Tue Sep 4 04:33:23 2007
@@ -26,6 +26,7 @@
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.impl.DefaultProducer;
@@ -93,10 +94,6 @@
public Consumer createConsumer(Processor processor) throws Exception {
return new SedaConsumer(this, processor);
- }
-
- public Exchange createExchange() {
- return new DefaultExchange(getContext());
}
public BlockingQueue<Entry> getQueue() {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java Tue Sep 4 04:33:23 2007
@@ -21,6 +21,7 @@
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.component.bean.BeanExchange;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
@@ -48,10 +49,6 @@
super(fullURI, component);
this.component = component;
this.timerName = timerName;
- }
-
- public Exchange createExchange() {
- return new DefaultExchange(getContext());
}
public Producer<Exchange> createProducer() throws Exception {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultEndpoint.java Tue Sep 4 04:33:23 2007
@@ -16,18 +16,19 @@
*/
package org.apache.camel.impl;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledThreadPoolExecutor;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Component;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.PollingConsumer;
import org.apache.camel.util.ObjectHelper;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+
/**
* A default endpoint useful for implementation inheritance
*
@@ -38,6 +39,7 @@
private CamelContext context;
private Component component;
private ScheduledExecutorService executorService;
+ private ExchangePattern defaultPattern = ExchangePattern.InOnly;
protected DefaultEndpoint(String endpointUri, Component component) {
this(endpointUri, component.getCamelContext());
@@ -146,6 +148,22 @@
}
}
return null;
+ }
+
+ public E createExchange() {
+ return createExchange(getDefaultPattern());
+ }
+
+ public E createExchange(ExchangePattern pattern) {
+ return (E) new DefaultExchange(getContext(), getDefaultPattern());
+ }
+
+ public ExchangePattern getDefaultPattern() {
+ return defaultPattern;
+ }
+
+ public void setDefaultPattern(ExchangePattern defaultPattern) {
+ this.defaultPattern = defaultPattern;
}
protected ScheduledThreadPoolExecutor createExecutorService() {
Modified: activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java (original)
+++ activemq/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/ProcessorEndpoint.java Tue Sep 4 04:33:23 2007
@@ -22,6 +22,7 @@
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
/**
* An endpoint which allows exchanges to be sent into it which just invokes a
@@ -43,9 +44,6 @@
this.processor = processor;
}
- public Exchange createExchange() {
- return new DefaultExchange(getContext());
- }
public Producer<Exchange> createProducer() throws Exception {
return new DefaultProducer<Exchange>(this) {
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileExchangeTest.java Tue Sep 4 04:33:23 2007
@@ -20,6 +20,7 @@
import org.apache.camel.ContextTestSupport;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.processor.Pipeline;
import java.io.File;
@@ -30,9 +31,10 @@
*/
public class FileExchangeTest extends ContextTestSupport {
protected File file;
+ protected ExchangePattern pattern = ExchangePattern.InOnly;
public void testCopy() {
- FileExchange fileExchange = new FileExchange(context, file);
+ FileExchange fileExchange = new FileExchange(context, pattern, file);
Exchange exchange = fileExchange.copy();
FileExchange copy = assertIsInstanceOf(FileExchange.class, exchange);
assertEquals("File", file, copy.getFile());
@@ -41,7 +43,7 @@
}
public void testCopyAfterBodyChanged() throws Exception {
- FileExchange original = new FileExchange(context, file);
+ FileExchange original = new FileExchange(context, pattern, file);
Object expectedBody = 1234;
original.getIn().setBody(expectedBody);
Exchange exchange = original.copy();
@@ -61,7 +63,7 @@
};
Pipeline pipeline = new Pipeline(Collections.singletonList(myProcessor));
- FileExchange exchange = new FileExchange(context, file);
+ FileExchange exchange = new FileExchange(context, pattern, file);
pipeline.process(exchange.copy());
}
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/MyExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/MyExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/MyExchange.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/MyExchange.java Tue Sep 4 04:33:23 2007
@@ -17,13 +17,14 @@
package org.apache.camel.impl;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExchangePattern;
/**
* @version $Revision: 1.1 $
*/
public class MyExchange extends DefaultExchange {
- public MyExchange(CamelContext context) {
- super(context);
+ public MyExchange(CamelContext context, ExchangePattern pattern) {
+ super(context, pattern);
}
}
Modified: activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/ProducerTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/ProducerTest.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/ProducerTest.java (original)
+++ activemq/camel/trunk/camel-core/src/test/java/org/apache/camel/impl/ProducerTest.java Tue Sep 4 04:33:23 2007
@@ -25,12 +25,14 @@
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.TestSupport;
+import org.apache.camel.ExchangePattern;
/**
* @version $Revision: 1.1 $
*/
public class ProducerTest extends TestSupport {
- private CamelContext context = new DefaultCamelContext();
+ protected CamelContext context = new DefaultCamelContext();
+ protected ExchangePattern pattern = ExchangePattern.InOnly;
public void testUsingADerivedExchange() throws Exception {
DefaultEndpoint<MyExchange> endpoint = new DefaultEndpoint<MyExchange>("foo", new DefaultComponent() {
@@ -44,8 +46,9 @@
return null;
}
- public MyExchange createExchange() {
- return new MyExchange(getContext());
+
+ public MyExchange createExchange(ExchangePattern pattern) {
+ return new MyExchange(getContext(), pattern);
}
public Producer<MyExchange> createProducer() throws Exception {
@@ -75,7 +78,7 @@
assertNotNull(actual);
assertTrue("Not same exchange", actual != exchange);
- MyExchange expected = new MyExchange(context);
+ MyExchange expected = new MyExchange(context, pattern);
actual = endpoint.createExchange(expected);
assertSame("Should not copy an exchange when of the correct type", expected, actual);
Modified: activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-activemq/src/main/java/org/apache/camel/component/activemq/JournalEndpoint.java Tue Sep 4 04:33:23 2007
@@ -30,6 +30,7 @@
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
@@ -55,10 +56,6 @@
public JournalEndpoint(String uri, JournalComponent journalComponent, File directory) {
super(uri, journalComponent.getCamelContext());
this.directory = directory;
- }
-
- public Exchange createExchange() {
- return new DefaultExchange(getContext());
}
public boolean isSingleton() {
Modified: activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-atom/src/main/java/org/apache/camel/component/atom/AtomEndpoint.java Tue Sep 4 04:33:23 2007
@@ -26,6 +26,7 @@
import org.apache.camel.Exchange;
import org.apache.camel.PollingConsumer;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
import org.apache.camel.impl.DefaultPollingEndpoint;
@@ -53,10 +54,6 @@
public boolean isSingleton() {
return true;
- }
-
- public Exchange createExchange() {
- return new DefaultExchange(getContext());
}
public Producer createProducer() throws Exception {
Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java Tue Sep 4 04:33:23 2007
@@ -21,6 +21,7 @@
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.message.Message;
@@ -57,11 +58,15 @@
}
public CxfExchange createExchange() {
- return new CxfExchange(getContext(), getBinding());
+ return new CxfExchange(getContext(), getDefaultPattern(), getBinding());
+ }
+
+ public CxfExchange createExchange(ExchangePattern pattern) {
+ return new CxfExchange(getContext(), pattern, getBinding());
}
public CxfExchange createExchange(Message inMessage) {
- return new CxfExchange(getContext(), getBinding(), inMessage);
+ return new CxfExchange(getContext(), getDefaultPattern(), getBinding(), inMessage);
}
public boolean isInvoker() {
Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfExchange.java Tue Sep 4 04:33:23 2007
@@ -17,6 +17,7 @@
package org.apache.camel.component.cxf;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
import org.apache.cxf.message.Exchange;
import org.apache.cxf.message.Message;
@@ -34,11 +35,6 @@
private final CxfBinding binding;
private Exchange exchange;
- public CxfExchange(CamelContext context, CxfBinding binding) {
- super(context);
- this.binding = binding;
- }
-
public CxfExchange(CamelContext context, CxfBinding binding, Exchange exchange) {
super(context);
this.binding = binding;
@@ -49,9 +45,13 @@
setFault(new CxfMessage(exchange.getInFaultMessage()));
}
- public CxfExchange(CamelContext context, CxfBinding binding, Message inMessage) {
- super(context);
+ public CxfExchange(CamelContext context, ExchangePattern pattern, CxfBinding binding) {
+ super(context, pattern);
this.binding = binding;
+ }
+
+ public CxfExchange(CamelContext context, ExchangePattern pattern, CxfBinding binding, Message inMessage) {
+ this(context, pattern, binding);
this.exchange = inMessage.getExchange();
setIn(new CxfMessage(inMessage));
Modified: activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileEndpoint.java Tue Sep 4 04:33:23 2007
@@ -19,6 +19,7 @@
import java.io.ByteArrayOutputStream;
import org.apache.camel.impl.ScheduledPollEndpoint;
+import org.apache.camel.ExchangePattern;
public abstract class RemoteFileEndpoint<T extends RemoteFileExchange> extends ScheduledPollEndpoint<T> {
private RemoteFileBinding binding;
@@ -34,11 +35,15 @@
}
public T createExchange() {
- return (T) new RemoteFileExchange(getContext(), getBinding());
+ return (T) new RemoteFileExchange(getContext(), getDefaultPattern(), getBinding());
+ }
+
+ public T createExchange(ExchangePattern pattern) {
+ return (T) new RemoteFileExchange(getContext(), pattern, getBinding());
}
public T createExchange(String fullFileName, ByteArrayOutputStream outputStream) {
- return (T) new RemoteFileExchange(getContext(), getBinding(), getConfiguration().getHost(), fullFileName, outputStream);
+ return (T) new RemoteFileExchange(getContext(), getDefaultPattern(), getBinding(), getConfiguration().getHost(), fullFileName, outputStream);
}
public RemoteFileBinding getBinding() {
Modified: activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java (original)
+++ activemq/camel/trunk/components/camel-ftp/src/main/java/org/apache/camel/component/file/remote/RemoteFileExchange.java Tue Sep 4 04:33:23 2007
@@ -19,18 +19,19 @@
import java.io.ByteArrayOutputStream;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
public class RemoteFileExchange<T extends RemoteFileBinding> extends DefaultExchange {
private T binding;
- public RemoteFileExchange(CamelContext context, T binding) {
- super(context);
+ public RemoteFileExchange(CamelContext context, ExchangePattern pattern, T binding) {
+ super(context, pattern);
this.binding = binding;
}
- public RemoteFileExchange(CamelContext context, T binding, String host, String fullFileName, ByteArrayOutputStream outputStream) {
- this(context, binding);
+ public RemoteFileExchange(CamelContext context, ExchangePattern pattern, T binding, String host, String fullFileName, ByteArrayOutputStream outputStream) {
+ this(context, pattern, binding);
setIn(new RemoteFileMessage(host, fullFileName, outputStream));
}
Modified: activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java (original)
+++ activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/CamelServlet.java Tue Sep 4 04:33:23 2007
@@ -16,6 +16,8 @@
*/
package org.apache.camel.component.http;
+import org.apache.camel.ExchangePattern;
+
import java.io.IOException;
import java.util.concurrent.ConcurrentHashMap;
Modified: activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpEndpoint.java Tue Sep 4 04:33:23 2007
@@ -18,6 +18,7 @@
import org.apache.camel.PollingConsumer;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultPollingEndpoint;
import javax.servlet.http.HttpServletRequest;
@@ -52,8 +53,8 @@
return new HttpPollingConsumer(this);
}
- public HttpExchange createExchange() {
- return new HttpExchange(this);
+ public HttpExchange createExchange(ExchangePattern pattern) {
+ return new HttpExchange(this, pattern);
}
public HttpExchange createExchange(HttpServletRequest request, HttpServletResponse response) {
Modified: activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java (original)
+++ activemq/camel/trunk/components/camel-http/src/main/java/org/apache/camel/component/http/HttpExchange.java Tue Sep 4 04:33:23 2007
@@ -20,6 +20,7 @@
import javax.servlet.http.HttpServletResponse;
import org.apache.camel.impl.DefaultExchange;
+import org.apache.camel.ExchangePattern;
/**
* Represents a HTTP exchange which exposes the underlying HTTP abtractions via
@@ -32,19 +33,18 @@
private HttpServletRequest request;
private HttpServletResponse response;
- public HttpExchange(HttpEndpoint endpoint) {
- super(endpoint.getContext());
+ public HttpExchange(HttpEndpoint endpoint, ExchangePattern pattern) {
+ super(endpoint.getContext(), pattern);
this.endpoint = endpoint;
}
public HttpExchange(HttpEndpoint endpoint, HttpServletRequest request, HttpServletResponse response) {
- this(endpoint);
+ this(endpoint, getPatternFromRequest(request));
this.request = request;
this.response = response;
setIn(new HttpMessage(this, request));
}
-
/**
* Returns the underlying Servlet request for inbound HTTP requests
*
@@ -65,5 +65,10 @@
public HttpEndpoint getEndpoint() {
return endpoint;
+ }
+
+ protected static ExchangePattern getPatternFromRequest(HttpServletRequest request) {
+ // TODO for now just default to InOut?
+ return ExchangePattern.InOut;
}
}
Modified: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java Tue Sep 4 04:33:23 2007
@@ -17,6 +17,7 @@
package org.apache.camel.component.irc;
import org.apache.camel.Processor;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.schwering.irc.lib.IRCModeParser;
import org.schwering.irc.lib.IRCUser;
@@ -41,40 +42,40 @@
return true;
}
- public IrcExchange createExchange() {
- return new IrcExchange(getContext(), getBinding());
+ public IrcExchange createExchange(ExchangePattern pattern) {
+ return new IrcExchange(getContext(), pattern, getBinding());
}
public IrcExchange createOnPrivmsgExchange(String target, IRCUser user, String msg) {
- return new IrcExchange(getContext(), getBinding(), new IrcMessage("PRIVMSG", target, user, msg));
+ return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("PRIVMSG", target, user, msg));
}
public IrcExchange createOnNickExchange(IRCUser user, String newNick) {
- return new IrcExchange(getContext(), getBinding(), new IrcMessage("NICK", user, newNick));
+ return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("NICK", user, newNick));
}
public IrcExchange createOnQuitExchange(IRCUser user, String msg) {
- return new IrcExchange(getContext(), getBinding(), new IrcMessage("QUIT", user, msg));
+ return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("QUIT", user, msg));
}
public IrcExchange createOnJoinExchange(String channel, IRCUser user) {
- return new IrcExchange(getContext(), getBinding(), new IrcMessage("JOIN", channel, user));
+ return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("JOIN", channel, user));
}
public IrcExchange createOnKickExchange(String channel, IRCUser user, String whoWasKickedNick, String msg) {
- return new IrcExchange(getContext(), getBinding(), new IrcMessage("KICK", channel, user, whoWasKickedNick, msg));
+ return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("KICK", channel, user, whoWasKickedNick, msg));
}
public IrcExchange createOnModeExchange(String channel, IRCUser user, IRCModeParser modeParser) {
- return new IrcExchange(getContext(), getBinding(), new IrcMessage("MODE", channel, user, modeParser.getLine()));
+ return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("MODE", channel, user, modeParser.getLine()));
}
public IrcExchange createOnPartExchange(String channel, IRCUser user, String msg) {
- return new IrcExchange(getContext(), getBinding(), new IrcMessage("PART", channel, user, msg));
+ return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("PART", channel, user, msg));
}
public IrcExchange createOnTopicExchange(String channel, IRCUser user, String topic) {
- return new IrcExchange(getContext(), getBinding(), new IrcMessage("TOPIC", channel, user, topic));
+ return new IrcExchange(getContext(), getDefaultPattern(), getBinding(), new IrcMessage("TOPIC", channel, user, topic));
}
public IrcProducer createProducer() throws Exception {
Modified: activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java (original)
+++ activemq/camel/trunk/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcExchange.java Tue Sep 4 04:33:23 2007
@@ -17,18 +17,19 @@
package org.apache.camel.component.irc;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
public class IrcExchange extends DefaultExchange {
private IrcBinding binding;
- public IrcExchange(CamelContext context, IrcBinding binding) {
- super(context);
+ public IrcExchange(CamelContext context, ExchangePattern pattern, IrcBinding binding) {
+ super(context, pattern);
this.binding = binding;
}
- public IrcExchange(CamelContext context, IrcBinding binding, IrcMessage inMessage) {
- this(context, binding);
+ public IrcExchange(CamelContext context, ExchangePattern pattern, IrcBinding binding, IrcMessage inMessage) {
+ this(context, pattern, binding);
setIn(inMessage);
}
@@ -62,7 +63,7 @@
@Override
public IrcExchange newInstance() {
- return new IrcExchange(getContext(), getBinding());
+ return new IrcExchange(getContext(), getPattern(), getBinding());
}
@Override
Modified: activemq/camel/trunk/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcEndpoint.java Tue Sep 4 04:33:23 2007
@@ -23,6 +23,7 @@
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.impl.DefaultExchange;
@@ -43,10 +44,6 @@
public boolean isSingleton() {
return false;
- }
-
- public DefaultExchange createExchange() {
- return new DefaultExchange(getContext());
}
public Consumer<DefaultExchange> createConsumer(Processor processor) throws Exception {
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/EndpointMessageListener.java Tue Sep 4 04:33:23 2007
@@ -34,12 +34,12 @@
*/
public class EndpointMessageListener<E extends Exchange> implements MessageListener {
private static final transient Log LOG = LogFactory.getLog(EndpointMessageListener.class);
- private Endpoint<E> endpoint;
+ private JmsEndpoint endpoint;
private Processor processor;
private JmsBinding binding;
private boolean eagerLoadingOfProperties;
- public EndpointMessageListener(Endpoint<E> endpoint, Processor processor) {
+ public EndpointMessageListener(JmsEndpoint endpoint, Processor processor) {
this.endpoint = endpoint;
this.processor = processor;
}
@@ -62,7 +62,7 @@
}
public JmsExchange createExchange(Message message) {
- return new JmsExchange(endpoint.getContext(), getBinding(), message);
+ return new JmsExchange(endpoint.getContext(), endpoint.getDefaultPattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java Tue Sep 4 04:33:23 2007
@@ -20,6 +20,7 @@
import org.apache.camel.PollingConsumer;
import org.apache.camel.Processor;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.springframework.jms.core.JmsOperations;
@@ -90,12 +91,13 @@
return new JmsPollingConsumer(this, template);
}
- public JmsExchange createExchange() {
- return new JmsExchange(getContext(), getBinding());
+ @Override
+ public JmsExchange createExchange(ExchangePattern pattern) {
+ return new JmsExchange(getContext(), pattern, getBinding());
}
public JmsExchange createExchange(Message message) {
- return new JmsExchange(getContext(), getBinding(), message);
+ return new JmsExchange(getContext(), getDefaultPattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java (original)
+++ activemq/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsExchange.java Tue Sep 4 04:33:23 2007
@@ -16,28 +16,29 @@
*/
package org.apache.camel.component.jms;
-import javax.jms.Message;
-
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
+import javax.jms.Message;
+
/**
* Represents an {@ilnk Exchange} for working with JMS messages while exposing the inbound and outbound JMS {@link Message}
- * objects via {@link #getInMessage()} and {@link #getOutMessage()}
+ * objects via {@link #getInMessage()} and {@link #getOutMessage()}
*
* @version $Revision:520964 $
*/
public class JmsExchange extends DefaultExchange {
private JmsBinding binding;
- public JmsExchange(CamelContext context, JmsBinding binding) {
- super(context);
+ public JmsExchange(CamelContext context, ExchangePattern pattern, JmsBinding binding) {
+ super(context, pattern);
this.binding = binding;
}
- public JmsExchange(CamelContext context, JmsBinding binding, Message message) {
- this(context, binding);
+ public JmsExchange(CamelContext context, ExchangePattern pattern, JmsBinding binding, Message message) {
+ this(context, pattern, binding);
setIn(new JmsMessage(message));
}
@@ -67,7 +68,7 @@
@Override
public Exchange newInstance() {
- return new JmsExchange(getContext(), binding);
+ return new JmsExchange(getContext(), getPattern(), binding);
}
// Expose JMS APIs
Modified: activemq/camel/trunk/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaEndpoint.java Tue Sep 4 04:33:23 2007
@@ -54,10 +54,6 @@
entityManagerFactory = component.getEntityManagerFactory();
}
- public Exchange createExchange() {
- return new DefaultExchange(getContext());
- }
-
public Producer<Exchange> createProducer() throws Exception {
return new JpaProducer(this, getProducerExpression());
}
Modified: activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailEndpoint.java Tue Sep 4 04:33:23 2007
@@ -22,6 +22,7 @@
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.ScheduledPollEndpoint;
import org.springframework.mail.javamail.JavaMailSender;
@@ -78,12 +79,13 @@
return answer;
}
- public MailExchange createExchange() {
- return new MailExchange(getContext(), getBinding());
+ @Override
+ public MailExchange createExchange(ExchangePattern pattern) {
+ return new MailExchange(getContext(), pattern, getBinding());
}
public MailExchange createExchange(Message message) {
- return new MailExchange(getContext(), getBinding(), message);
+ return new MailExchange(getContext(), getDefaultPattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java (original)
+++ activemq/camel/trunk/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailExchange.java Tue Sep 4 04:33:23 2007
@@ -20,6 +20,7 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
/**
@@ -30,13 +31,13 @@
public class MailExchange extends DefaultExchange {
private MailBinding binding;
- public MailExchange(CamelContext context, MailBinding binding) {
- super(context);
+ public MailExchange(CamelContext context, ExchangePattern pattern, MailBinding binding) {
+ super(context, pattern);
this.binding = binding;
}
- public MailExchange(CamelContext context, MailBinding binding, Message message) {
- this(context, binding);
+ public MailExchange(CamelContext context, ExchangePattern pattern, MailBinding binding, Message message) {
+ this(context, pattern, binding);
setIn(new MailMessage(message));
}
@@ -66,7 +67,7 @@
@Override
public Exchange newInstance() {
- return new MailExchange(getContext(), binding);
+ return new MailExchange(getContext(), getPattern(), binding);
}
// Expose Email APIs
Modified: activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaEndpoint.java Tue Sep 4 04:33:23 2007
@@ -21,6 +21,7 @@
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.mina.common.IoAcceptor;
import org.apache.mina.common.IoConnector;
@@ -52,12 +53,13 @@
return new MinaConsumer(this, processor);
}
- public MinaExchange createExchange() {
- return new MinaExchange(getContext());
+ @Override
+ public MinaExchange createExchange(ExchangePattern pattern) {
+ return new MinaExchange(getContext(), pattern);
}
public MinaExchange createExchange(IoSession session, Object object) {
- MinaExchange exchange = new MinaExchange(getContext());
+ MinaExchange exchange = new MinaExchange(getContext(), getDefaultPattern());
exchange.getIn().setBody(object);
// TODO store session in exchange?
return exchange;
Modified: activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaExchange.java (original)
+++ activemq/camel/trunk/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaExchange.java Tue Sep 4 04:33:23 2007
@@ -18,6 +18,7 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
/**
@@ -27,7 +28,7 @@
*/
public class MinaExchange extends DefaultExchange {
- public MinaExchange(CamelContext camelContext) {
+ public MinaExchange(CamelContext camelContext, ExchangePattern pattern) {
super(camelContext);
}
}
Modified: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzEndpoint.java Tue Sep 4 04:33:23 2007
@@ -22,6 +22,7 @@
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.camel.processor.loadbalancer.LoadBalancer;
import org.apache.camel.processor.loadbalancer.RoundRobinLoadBalancer;
@@ -117,12 +118,13 @@
}
}
- public QuartzExchange createExchange() {
- return new QuartzExchange(getContext(), null);
+ @Override
+ public QuartzExchange createExchange(ExchangePattern pattern) {
+ return new QuartzExchange(getContext(), pattern, null);
}
public QuartzExchange createExchange(JobExecutionContext jobExecutionContext) {
- return new QuartzExchange(getContext(), jobExecutionContext);
+ return new QuartzExchange(getContext(), getDefaultPattern(), jobExecutionContext);
}
public Producer<QuartzExchange> createProducer() throws Exception {
Modified: activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java (original)
+++ activemq/camel/trunk/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzExchange.java Tue Sep 4 04:33:23 2007
@@ -17,6 +17,7 @@
package org.apache.camel.component.quartz;
import org.apache.camel.CamelContext;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
import org.quartz.JobExecutionContext;
@@ -24,8 +25,8 @@
* @version $Revision: 1.1 $
*/
public class QuartzExchange extends DefaultExchange {
- public QuartzExchange(CamelContext context, JobExecutionContext jobExecutionContext) {
- super(context);
+ public QuartzExchange(CamelContext context, ExchangePattern pattern, JobExecutionContext jobExecutionContext) {
+ super(context, pattern);
setIn(new QuartzMessage(this, jobExecutionContext));
}
Modified: activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-rmi/src/main/java/org/apache/camel/component/rmi/RmiEndpoint.java Tue Sep 4 04:33:23 2007
@@ -28,6 +28,7 @@
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.component.bean.BeanExchange;
import org.apache.camel.impl.DefaultEndpoint;
@@ -50,8 +51,9 @@
return false;
}
- public BeanExchange createExchange() {
- return new BeanExchange(getContext());
+ @Override
+ public BeanExchange createExchange(ExchangePattern pattern) {
+ return new BeanExchange(getContext(), pattern);
}
public Consumer<BeanExchange> createConsumer(Processor processor) throws Exception {
Modified: activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/component/event/EventEndpoint.java Tue Sep 4 04:33:23 2007
@@ -57,10 +57,6 @@
return true;
}
- public Exchange createExchange() {
- return new DefaultExchange(getContext());
- }
-
public Producer<Exchange> createProducer() throws Exception {
return new DefaultProducer<Exchange>(this) {
public void process(Exchange exchange) throws Exception {
Modified: activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java (original)
+++ activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java Tue Sep 4 04:33:23 2007
@@ -19,6 +19,7 @@
import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultEndpoint;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -77,12 +78,13 @@
return new XmppConsumer(this, processor);
}
- public XmppExchange createExchange() {
- return new XmppExchange(getContext(), getBinding());
+ @Override
+ public XmppExchange createExchange(ExchangePattern pattern) {
+ return new XmppExchange(getContext(), pattern, getBinding());
}
public XmppExchange createExchange(Message message) {
- return new XmppExchange(getContext(), getBinding(), message);
+ return new XmppExchange(getContext(), getDefaultPattern(), getBinding(), message);
}
// Properties
Modified: activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java?rev=572625&r1=572624&r2=572625&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java (original)
+++ activemq/camel/trunk/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppExchange.java Tue Sep 4 04:33:23 2007
@@ -18,6 +18,7 @@
import org.apache.camel.CamelContext;
import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
import org.apache.camel.impl.DefaultExchange;
import org.jivesoftware.smack.packet.Message;
@@ -30,13 +31,13 @@
public class XmppExchange extends DefaultExchange {
private XmppBinding binding;
- public XmppExchange(CamelContext context, XmppBinding binding) {
- super(context);
+ public XmppExchange(CamelContext context, ExchangePattern pattern, XmppBinding binding) {
+ super(context, pattern);
this.binding = binding;
}
- public XmppExchange(CamelContext context, XmppBinding binding, Message message) {
- this(context, binding);
+ public XmppExchange(CamelContext context, ExchangePattern pattern, XmppBinding binding, Message message) {
+ this(context, pattern, binding);
setIn(new XmppMessage(message));
}
@@ -66,7 +67,7 @@
@Override
public Exchange newInstance() {
- return new XmppExchange(getContext(), binding);
+ return new XmppExchange(getContext(), getPattern(), binding);
}
// Expose the underlying XMPP APIs