CAMEL-11149: SPI - Allow to plugin different headers map implementation
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/36c3512d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/36c3512d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/36c3512d Branch: refs/heads/master Commit: 36c3512d80244d6c92d1f842e9ab973934fcc348 Parents: 6c73ae8 Author: Claus Ibsen <davscl...@apache.org> Authored: Wed May 24 21:09:08 2017 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Thu May 25 11:09:53 2017 +0200 ---------------------------------------------------------------------- .../apache/camel/http/common/HttpMessage.java | 3 ++ .../apache/camel/component/irc/IrcEndpoint.java | 45 ++++++++++++++++---- .../apache/camel/component/irc/IrcMessage.java | 4 +- .../apache/camel/component/jms/JmsMessage.java | 4 +- .../camel/component/mail/MailMessage.java | 4 +- .../netty/http/DefaultNettyHttpBinding.java | 4 +- .../component/netty/http/NettyHttpMessage.java | 6 ++- .../netty4/http/DefaultNettyHttpBinding.java | 4 +- .../component/netty4/http/NettyHttpMessage.java | 6 ++- .../camel/component/paho/PahoEndpoint.java | 6 +-- .../camel/component/paho/PahoMessage.java | 10 ++--- .../camel/component/quartz/QuartzMessage.java | 6 +++ .../camel/component/quartz2/QuartzMessage.java | 6 +++ .../camel/component/sjms/SjmsMessage.java | 4 +- .../camel/component/smpp/SmppMessage.java | 4 +- .../camel/component/snmp/SnmpMessage.java | 4 +- .../sparkrest/DefaultSparkBinding.java | 2 +- .../camel/component/sparkrest/SparkMessage.java | 6 ++- .../integration/SpringIntegrationMessage.java | 10 ++++- .../SpringIntegrationMessageTest.java | 5 +++ .../spring/ws/SpringWebserviceConsumer.java | 2 +- .../spring/ws/SpringWebserviceMessage.java | 9 +++- .../camel/component/xmpp/XmppMessage.java | 4 +- 23 files changed, 119 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java index 7dd296d..a96d580 100644 --- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java +++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpMessage.java @@ -35,6 +35,8 @@ public class HttpMessage extends DefaultMessage { public HttpMessage(Exchange exchange, HttpServletRequest request, HttpServletResponse response) { setExchange(exchange); + setCamelContext(exchange.getContext()); + this.request = request; this.response = response; // Put the request and response into the message header @@ -56,6 +58,7 @@ public class HttpMessage extends DefaultMessage { this.request = request; this.response = response; setExchange(getExchange()); + setCamelContext(exchange.getContext()); } public HttpServletRequest getRequest() { http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java index 9572a63..79334cc 100644 --- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java +++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcEndpoint.java @@ -68,55 +68,82 @@ public class IrcEndpoint extends DefaultEndpoint { public Exchange createOnPrivmsgExchange(String target, IRCUser user, String msg) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("PRIVMSG", target, user, msg)); + IrcMessage im = new IrcMessage("PRIVMSG", target, user, msg); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } public Exchange createOnNickExchange(IRCUser user, String newNick) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("NICK", user, newNick)); + IrcMessage im = new IrcMessage("NICK", user, newNick); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } public Exchange createOnQuitExchange(IRCUser user, String msg) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("QUIT", user, msg)); + IrcMessage im = new IrcMessage("QUIT", user, msg); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } public Exchange createOnJoinExchange(String channel, IRCUser user) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("JOIN", channel, user)); + IrcMessage im = new IrcMessage("JOIN", channel, user); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } public Exchange createOnKickExchange(String channel, IRCUser user, String whoWasKickedNick, String msg) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("KICK", channel, user, whoWasKickedNick, msg)); + IrcMessage im = new IrcMessage("KICK", channel, user, whoWasKickedNick, msg); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } public Exchange createOnModeExchange(String channel, IRCUser user, IRCModeParser modeParser) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("MODE", channel, user, modeParser.getLine())); + IrcMessage im = new IrcMessage("MODE", channel, user, modeParser.getLine()); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } public Exchange createOnPartExchange(String channel, IRCUser user, String msg) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("PART", channel, user, msg)); + IrcMessage im = new IrcMessage("PART", channel, user, msg); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } public Exchange createOnReplyExchange(int num, String value, String msg) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("REPLY", num, value, msg)); + IrcMessage im = new IrcMessage("REPLY", num, value, msg); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } public Exchange createOnTopicExchange(String channel, IRCUser user, String topic) { Exchange exchange = createExchange(); - exchange.setIn(new IrcMessage("TOPIC", channel, user, topic)); + IrcMessage im = new IrcMessage("TOPIC", channel, user, topic); + im.setExchange(exchange); + im.setCamelContext(exchange.getContext()); + exchange.setIn(im); return exchange; } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java index be4bc8a..1b3360a 100644 --- a/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java +++ b/components/camel-irc/src/main/java/org/apache/camel/component/irc/IrcMessage.java @@ -122,7 +122,9 @@ public class IrcMessage extends DefaultMessage { @Override public IrcMessage newInstance() { - return new IrcMessage(); + IrcMessage answer = new IrcMessage(); + answer.setCamelContext(getCamelContext()); + return answer; } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java index 0408ff7..88428ec 100644 --- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java +++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessage.java @@ -191,7 +191,9 @@ public class JmsMessage extends DefaultMessage { @Override public JmsMessage newInstance() { - return new JmsMessage(null, null, binding); + JmsMessage answer = new JmsMessage(null, null, binding); + answer.setCamelContext(getCamelContext()); + return answer; } /** http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java index b643b82..9119d98 100644 --- a/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java +++ b/components/camel-mail/src/main/java/org/apache/camel/component/mail/MailMessage.java @@ -94,7 +94,9 @@ public class MailMessage extends DefaultMessage { @Override public MailMessage newInstance() { - return new MailMessage(null, this.mapMailMessage); + MailMessage answer = new MailMessage(null, this.mapMailMessage); + answer.setCamelContext(getCamelContext()); + return answer; } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java ---------------------------------------------------------------------- diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java index 192d4c1..5112762 100644 --- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java +++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/DefaultNettyHttpBinding.java @@ -81,7 +81,7 @@ public class DefaultNettyHttpBinding implements NettyHttpBinding, Cloneable { public Message toCamelMessage(HttpRequest request, Exchange exchange, NettyHttpConfiguration configuration) throws Exception { LOG.trace("toCamelMessage: {}", request); - NettyHttpMessage answer = new NettyHttpMessage(request, null); + NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), request, null); answer.setExchange(exchange); if (configuration.isMapHeaders()) { populateCamelHeaders(request, answer.getHeaders(), exchange, configuration); @@ -252,7 +252,7 @@ public class DefaultNettyHttpBinding implements NettyHttpBinding, Cloneable { public Message toCamelMessage(HttpResponse response, Exchange exchange, NettyHttpConfiguration configuration) throws Exception { LOG.trace("toCamelMessage: {}", response); - NettyHttpMessage answer = new NettyHttpMessage(null, response); + NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(),null, response); answer.setExchange(exchange); if (configuration.isMapHeaders()) { populateCamelHeaders(response, answer.getHeaders(), exchange, configuration); http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpMessage.java b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpMessage.java index ba4ca55..81f493f 100644 --- a/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpMessage.java +++ b/components/camel-netty-http/src/main/java/org/apache/camel/component/netty/http/NettyHttpMessage.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.netty.http; +import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultMessage; import org.jboss.netty.handler.codec.http.HttpRequest; import org.jboss.netty.handler.codec.http.HttpResponse; @@ -31,7 +32,8 @@ public class NettyHttpMessage extends DefaultMessage { private final transient HttpRequest httpRequest; private final transient HttpResponse httpResponse; - public NettyHttpMessage(HttpRequest httpRequest, HttpResponse httpResponse) { + public NettyHttpMessage(CamelContext camelContext, HttpRequest httpRequest, HttpResponse httpResponse) { + super(camelContext); this.httpRequest = httpRequest; this.httpResponse = httpResponse; } @@ -46,6 +48,6 @@ public class NettyHttpMessage extends DefaultMessage { @Override public DefaultMessage newInstance() { - return new NettyHttpMessage(httpRequest, httpResponse); + return new NettyHttpMessage(getCamelContext(), httpRequest, httpResponse); } } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettyHttpBinding.java ---------------------------------------------------------------------- diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettyHttpBinding.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettyHttpBinding.java index 3d92f21..eb96cc8 100644 --- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettyHttpBinding.java +++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/DefaultNettyHttpBinding.java @@ -84,7 +84,7 @@ public class DefaultNettyHttpBinding implements NettyHttpBinding, Cloneable { public Message toCamelMessage(FullHttpRequest request, Exchange exchange, NettyHttpConfiguration configuration) throws Exception { LOG.trace("toCamelMessage: {}", request); - NettyHttpMessage answer = new NettyHttpMessage(request, null); + NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), request, null); answer.setExchange(exchange); if (configuration.isMapHeaders()) { populateCamelHeaders(request, answer.getHeaders(), exchange, configuration); @@ -263,7 +263,7 @@ public class DefaultNettyHttpBinding implements NettyHttpBinding, Cloneable { public Message toCamelMessage(FullHttpResponse response, Exchange exchange, NettyHttpConfiguration configuration) throws Exception { LOG.trace("toCamelMessage: {}", response); - NettyHttpMessage answer = new NettyHttpMessage(null, response); + NettyHttpMessage answer = new NettyHttpMessage(exchange.getContext(), null, response); answer.setExchange(exchange); if (configuration.isMapHeaders()) { populateCamelHeaders(response, answer.getHeaders(), exchange, configuration); http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpMessage.java b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpMessage.java index 2460bfa..54429f5 100644 --- a/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpMessage.java +++ b/components/camel-netty4-http/src/main/java/org/apache/camel/component/netty4/http/NettyHttpMessage.java @@ -18,6 +18,7 @@ package org.apache.camel.component.netty4.http; import io.netty.handler.codec.http.FullHttpRequest; import io.netty.handler.codec.http.FullHttpResponse; +import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultMessage; /** @@ -31,7 +32,8 @@ public class NettyHttpMessage extends DefaultMessage { private final transient FullHttpRequest httpRequest; private final transient FullHttpResponse httpResponse; - public NettyHttpMessage(FullHttpRequest httpRequest, FullHttpResponse httpResponse) { + public NettyHttpMessage(CamelContext camelContext, FullHttpRequest httpRequest, FullHttpResponse httpResponse) { + super(camelContext); this.httpRequest = httpRequest; this.httpResponse = httpResponse; } @@ -46,6 +48,6 @@ public class NettyHttpMessage extends DefaultMessage { @Override public DefaultMessage newInstance() { - return new NettyHttpMessage(httpRequest, httpResponse); + return new NettyHttpMessage(getCamelContext(), httpRequest, httpResponse); } } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java index a926982..ed06f59 100644 --- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java +++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoEndpoint.java @@ -140,12 +140,12 @@ public class PahoEndpoint extends DefaultEndpoint { } public Exchange createExchange(MqttMessage mqttMessage, String topic) { - PahoMessage paho = new PahoMessage(); - paho.setMqttMessage(mqttMessage); + Exchange exchange = createExchange(); + + PahoMessage paho = new PahoMessage(exchange.getContext(), mqttMessage); paho.setBody(mqttMessage.getPayload()); paho.setHeader(PahoConstants.MQTT_TOPIC, topic); - Exchange exchange = createExchange(); exchange.setIn(paho); return exchange; } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java index a89e470..e805c4b 100644 --- a/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java +++ b/components/camel-paho/src/main/java/org/apache/camel/component/paho/PahoMessage.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.paho; +import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultMessage; import org.eclipse.paho.client.mqttv3.MqttMessage; @@ -23,10 +24,8 @@ public class PahoMessage extends DefaultMessage { private transient MqttMessage mqttMessage; - public PahoMessage() { - } - - public PahoMessage(MqttMessage mqttMessage) { + public PahoMessage(CamelContext camelContext, MqttMessage mqttMessage) { + super(camelContext); this.mqttMessage = mqttMessage; } @@ -40,8 +39,7 @@ public class PahoMessage extends DefaultMessage { @Override public PahoMessage newInstance() { - return new PahoMessage(mqttMessage); + return new PahoMessage(getCamelContext(), mqttMessage); } - } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java index 58291e8..6fde192 100644 --- a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java +++ b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzMessage.java @@ -31,6 +31,7 @@ public class QuartzMessage extends DefaultMessage { private final JobExecutionContext jobExecutionContext; public QuartzMessage(Exchange exchange, JobExecutionContext jobExecutionContext) { + super(exchange.getContext()); this.jobExecutionContext = jobExecutionContext; setExchange(exchange); // do not set body as it should be null @@ -62,4 +63,9 @@ public class QuartzMessage extends DefaultMessage { map.put("triggerGroup", trigger.getGroup()); } } + + @Override + public DefaultMessage newInstance() { + return new QuartzMessage(getExchange(), jobExecutionContext); + } } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzMessage.java b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzMessage.java index 945a405..bb4af65 100644 --- a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzMessage.java +++ b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzMessage.java @@ -30,6 +30,7 @@ public class QuartzMessage extends DefaultMessage { private final JobExecutionContext jobExecutionContext; public QuartzMessage(Exchange exchange, JobExecutionContext jobExecutionContext) { + super(exchange.getContext()); this.jobExecutionContext = jobExecutionContext; setExchange(exchange); // do not set body as it should be null @@ -61,4 +62,9 @@ public class QuartzMessage extends DefaultMessage { map.put("triggerGroup", trigger.getKey().getGroup()); } } + + @Override + public DefaultMessage newInstance() { + return new QuartzMessage(getExchange(), jobExecutionContext); + } } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java index 907985e..fa5b60b 100644 --- a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java +++ b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/SjmsMessage.java @@ -204,7 +204,9 @@ public class SjmsMessage extends DefaultMessage { @Override public SjmsMessage newInstance() { - return new SjmsMessage(null, null, binding); + SjmsMessage answer = new SjmsMessage(null, null, binding); + answer.setCamelContext(getCamelContext()); + return answer; } /** http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppMessage.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppMessage.java index 760c920..c108812 100644 --- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppMessage.java +++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppMessage.java @@ -60,7 +60,9 @@ public class SmppMessage extends DefaultMessage { @Override public SmppMessage newInstance() { - return new SmppMessage(this.configuration); + SmppMessage answer = new SmppMessage(this.configuration); + answer.setCamelContext(getCamelContext()); + return answer; } public boolean isAlertNotification() { http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java index 0ba0156..7cc9d3b 100644 --- a/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java +++ b/components/camel-snmp/src/main/java/org/apache/camel/component/snmp/SnmpMessage.java @@ -56,7 +56,9 @@ public class SnmpMessage extends DefaultMessage { @Override public SnmpMessage newInstance() { - return new SnmpMessage(this.pdu); + SnmpMessage answer = new SnmpMessage(this.pdu); + answer.setCamelContext(getCamelContext()); + return answer; } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/DefaultSparkBinding.java ---------------------------------------------------------------------- diff --git a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/DefaultSparkBinding.java b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/DefaultSparkBinding.java index b04a4f1..b677ed4 100644 --- a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/DefaultSparkBinding.java +++ b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/DefaultSparkBinding.java @@ -48,7 +48,7 @@ public class DefaultSparkBinding implements SparkBinding { public Message toCamelMessage(Request request, Exchange exchange, SparkConfiguration configuration) throws Exception { LOG.trace("toCamelMessage: {}", request); - SparkMessage answer = new SparkMessage(request, null); + SparkMessage answer = new SparkMessage(exchange.getContext(), request, null); answer.setExchange(exchange); if (configuration.isMapHeaders()) { populateCamelHeaders(request, answer.getHeaders(), exchange, configuration); http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkMessage.java b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkMessage.java index d38cb5e..c613cdd 100644 --- a/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkMessage.java +++ b/components/camel-spark-rest/src/main/java/org/apache/camel/component/sparkrest/SparkMessage.java @@ -16,6 +16,7 @@ */ package org.apache.camel.component.sparkrest; +import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultMessage; import spark.Request; import spark.Response; @@ -31,7 +32,8 @@ public class SparkMessage extends DefaultMessage { private final transient Request request; private final transient Response response; - public SparkMessage(Request request, Response response) { + public SparkMessage(CamelContext camelContext, Request request, Response response) { + super(camelContext); this.request = request; this.response = response; } @@ -46,6 +48,6 @@ public class SparkMessage extends DefaultMessage { @Override public DefaultMessage newInstance() { - return new SparkMessage(request, response); + return new SparkMessage(getCamelContext(), request, response); } } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java index 16187a9..9c0be06 100644 --- a/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java +++ b/components/camel-spring-integration/src/main/java/org/apache/camel/component/spring/integration/SpringIntegrationMessage.java @@ -18,6 +18,7 @@ package org.apache.camel.component.spring.integration; import java.util.Map; +import org.apache.camel.CamelContextAware; import org.apache.camel.impl.DefaultMessage; /** @@ -51,6 +52,10 @@ public class SpringIntegrationMessage extends DefaultMessage { return; } + if (that instanceof CamelContextAware) { + this.setCamelContext(((CamelContextAware) that).getCamelContext()); + } + setMessageId(that.getMessageId()); setBody(that.getBody()); super.getHeaders().putAll(that.getHeaders()); @@ -89,7 +94,10 @@ public class SpringIntegrationMessage extends DefaultMessage { @Override public SpringIntegrationMessage newInstance() { - return new SpringIntegrationMessage(); + // create new empty message + SpringIntegrationMessage answer = new SpringIntegrationMessage(); + answer.setCamelContext(getCamelContext()); + return answer; } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java b/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java index 2a28f24..45e2161 100644 --- a/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java +++ b/components/camel-spring-integration/src/test/java/org/apache/camel/component/spring/integration/SpringIntegrationMessageTest.java @@ -16,6 +16,8 @@ */ package org.apache.camel.component.spring.integration; +import org.apache.camel.CamelContext; +import org.apache.camel.impl.DefaultCamelContext; import org.junit.Test; import org.springframework.messaging.support.MessageBuilder; @@ -25,6 +27,8 @@ public class SpringIntegrationMessageTest { @Test public void testCopyFrom() { + CamelContext camelContext = new DefaultCamelContext(); + org.springframework.messaging.Message testSpringMessage = MessageBuilder.withPayload("Test") .setHeader("header1", "value1") @@ -32,6 +36,7 @@ public class SpringIntegrationMessageTest { .build(); SpringIntegrationMessage original = new SpringIntegrationMessage(testSpringMessage); + original.setCamelContext(camelContext); SpringIntegrationMessage copy = new SpringIntegrationMessage(testSpringMessage); http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java index 19f40fc..5c9b72f 100644 --- a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java +++ b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceConsumer.java @@ -107,7 +107,7 @@ public class SpringWebserviceConsumer extends DefaultConsumer implements Message // create inbound message WebServiceMessage request = messageContext.getRequest(); - SpringWebserviceMessage inMessage = new SpringWebserviceMessage(request); + SpringWebserviceMessage inMessage = new SpringWebserviceMessage(exchange.getContext(), request); extractSourceFromSoapHeader(inMessage.getHeaders(), request); extractAttachmentsFromRequest(request, inMessage); exchange.setIn(inMessage); http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceMessage.java b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceMessage.java index 79f0086..2291fdf 100644 --- a/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceMessage.java +++ b/components/camel-spring-ws/src/main/java/org/apache/camel/component/spring/ws/SpringWebserviceMessage.java @@ -16,13 +16,15 @@ */ package org.apache.camel.component.spring.ws; +import org.apache.camel.CamelContext; import org.apache.camel.impl.DefaultMessage; import org.springframework.ws.WebServiceMessage; public class SpringWebserviceMessage extends DefaultMessage { private WebServiceMessage webServiceMessage; - public SpringWebserviceMessage(WebServiceMessage webServiceMessage) { + public SpringWebserviceMessage(CamelContext camelContext, WebServiceMessage webServiceMessage) { + super(camelContext); this.webServiceMessage = webServiceMessage; } @@ -43,6 +45,11 @@ public class SpringWebserviceMessage extends DefaultMessage { } @Override + public DefaultMessage newInstance() { + return new SpringWebserviceMessage(getCamelContext(), webServiceMessage); + } + + @Override public String toString() { return "SpringWebserviceMessage[" + webServiceMessage + "]"; } http://git-wip-us.apache.org/repos/asf/camel/blob/36c3512d/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java index 90c5540..495c373 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java @@ -74,7 +74,9 @@ public class XmppMessage extends DefaultMessage { @Override public XmppMessage newInstance() { - return new XmppMessage(); + XmppMessage answer = new XmppMessage(); + answer.setCamelContext(getCamelContext()); + return answer; } @Override