You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2014/12/11 14:30:13 UTC
[1/3] camel git commit: CAMEL-8120 Fixed the issue that
ChannelHandlerFactories.newDelimiterBasedFrameDecoder always strips
delimiters
Repository: camel
Updated Branches:
refs/heads/master 3fef41ebc -> 81e4db372
CAMEL-8120 Fixed the issue that ChannelHandlerFactories.newDelimiterBasedFrameDecoder always strips delimiters
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/791805ff
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/791805ff
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/791805ff
Branch: refs/heads/master
Commit: 791805ffc67e426ff8f68007e51c5acb4aa793e3
Parents: 3fef41e
Author: Willem Jiang <wi...@gmail.com>
Authored: Thu Dec 11 20:17:20 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Thu Dec 11 21:29:45 2014 +0800
----------------------------------------------------------------------
.../camel/component/netty4/ChannelHandlerFactories.java | 8 ++++++--
.../netty4/codec/DatagramPacketDelimiterDecoder.java | 7 ++++++-
2 files changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/791805ff/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ChannelHandlerFactories.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ChannelHandlerFactories.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ChannelHandlerFactories.java
index edd387f..d23ebd7 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ChannelHandlerFactories.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ChannelHandlerFactories.java
@@ -89,18 +89,22 @@ public final class ChannelHandlerFactories {
}
public static ChannelHandlerFactory newDelimiterBasedFrameDecoder(final int maxFrameLength, final ByteBuf[] delimiters, String protocol) {
+ return newDelimiterBasedFrameDecoder(maxFrameLength, delimiters, true, protocol);
+ }
+
+ public static ChannelHandlerFactory newDelimiterBasedFrameDecoder(final int maxFrameLength, final ByteBuf[] delimiters, final boolean stripDelimiter, String protocol) {
if ("udp".equals(protocol)) {
return new DefaultChannelHandlerFactory() {
@Override
public ChannelHandler newChannelHandler() {
- return new DatagramPacketDelimiterDecoder(maxFrameLength, delimiters);
+ return new DatagramPacketDelimiterDecoder(maxFrameLength, stripDelimiter, delimiters);
}
};
} else {
return new DefaultChannelHandlerFactory() {
@Override
public ChannelHandler newChannelHandler() {
- return new DelimiterBasedFrameDecoder(maxFrameLength, true, delimiters);
+ return new DelimiterBasedFrameDecoder(maxFrameLength, stripDelimiter, delimiters);
}
};
}
http://git-wip-us.apache.org/repos/asf/camel/blob/791805ff/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/codec/DatagramPacketDelimiterDecoder.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/codec/DatagramPacketDelimiterDecoder.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/codec/DatagramPacketDelimiterDecoder.java
index 5d67756..0961716 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/codec/DatagramPacketDelimiterDecoder.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/codec/DatagramPacketDelimiterDecoder.java
@@ -29,8 +29,13 @@ public class DatagramPacketDelimiterDecoder extends MessageToMessageDecoder<Addr
private final DelimiterBasedFrameDecoder delegateDecoder;
public DatagramPacketDelimiterDecoder(int maxFrameLength, ByteBuf[] delimiters) {
- delegateDecoder = new DelimiterBasedFrameDecoder(maxFrameLength, true, delimiters);
+ this(maxFrameLength, true, delimiters);
}
+
+ public DatagramPacketDelimiterDecoder(int maxFrameLength, boolean stripDelimiter, ByteBuf[] delimiters) {
+ delegateDecoder = new DelimiterBasedFrameDecoder(maxFrameLength, stripDelimiter, delimiters);
+ }
+
@Override
protected void decode(ChannelHandlerContext ctx, AddressedEnvelope<Object, InetSocketAddress> msg,
List<Object> out) throws Exception {
[3/3] camel git commit: CAMEL-8145 Merged the patch into camel-mina2
Posted by ni...@apache.org.
CAMEL-8145 Merged the patch into camel-mina2
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/81e4db37
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/81e4db37
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/81e4db37
Branch: refs/heads/master
Commit: 81e4db372ab6d4b2ba02bec178568343d0670d79
Parents: d0d469b
Author: Willem Jiang <wi...@gmail.com>
Authored: Thu Dec 11 20:29:59 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Thu Dec 11 21:29:46 2014 +0800
----------------------------------------------------------------------
.../apache/camel/component/mina2/Mina2Consumer.java | 8 ++++++--
.../Mina2TcpWithInOutUsingPlainSocketTest.java | 16 ++++++++++++++--
2 files changed, 20 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/81e4db37/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
index 29ce424..df85635 100644
--- a/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
+++ b/components/camel-mina2/src/main/java/org/apache/camel/component/mina2/Mina2Consumer.java
@@ -346,8 +346,12 @@ public class Mina2Consumer extends DefaultConsumer {
//
boolean disconnect = getEndpoint().getConfiguration().isDisconnect();
Object response = null;
- response = Mina2PayloadHelper.getOut(getEndpoint(), exchange);
-
+ if (exchange.hasOut()) {
+ response = Mina2PayloadHelper.getOut(getEndpoint(), exchange);
+ } else {
+ response = Mina2PayloadHelper.getIn(getEndpoint(), exchange);
+ }
+
boolean failed = exchange.isFailed();
if (failed && !getEndpoint().getConfiguration().isTransferExchange()) {
if (exchange.getException() != null) {
http://git-wip-us.apache.org/repos/asf/camel/blob/81e4db37/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpWithInOutUsingPlainSocketTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpWithInOutUsingPlainSocketTest.java b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpWithInOutUsingPlainSocketTest.java
index 7aa7e3c..3ae322c 100644
--- a/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpWithInOutUsingPlainSocketTest.java
+++ b/components/camel-mina2/src/test/java/org/apache/camel/component/mina2/Mina2TcpWithInOutUsingPlainSocketTest.java
@@ -75,12 +75,22 @@ public class Mina2TcpWithInOutUsingPlainSocketTest extends BaseMina2Test {
assertTrue("out should not be the same as in when the exchange has failed", !"force-exception".equals(out));
assertEquals("should get the exception here", out, "java.lang.IllegalArgumentException: Forced exception");
}
+
+ @Test
+ public void testExchangeWithInOnly() throws IOException {
+ String out = sendAndReceive("force-set-in-body");
+ assertEquals("Get a wrong response message", "Update the in message!", out);
+ }
private String sendAndReceive(String input) throws IOException {
+ return sendAndReceive(input, getPort());
+ }
+
+ private String sendAndReceive(String input, int port) throws IOException {
byte buf[] = new byte[128];
Socket soc = new Socket();
- soc.connect(new InetSocketAddress("localhost", getPort()));
+ soc.connect(new InetSocketAddress("localhost", port));
// Send message using plain Socket to test if this works
OutputStream os = null;
@@ -132,9 +142,11 @@ public class Mina2TcpWithInOutUsingPlainSocketTest extends BaseMina2Test {
// clear out before throwing exception
e.getOut().setBody(null);
throw new IllegalArgumentException("Forced exception");
+ } else if ("force-set-in-body".equals(in)) {
+ e.getIn().setBody("Update the in message!");
} else {
e.getOut().setBody("Hello " + in);
- }
+ }
}
});
}
[2/3] camel git commit: CAMEL-8145 Mina Consumer should send the
message back if the response is set on the in message
Posted by ni...@apache.org.
CAMEL-8145 Mina Consumer should send the message back if the response is set on the in message
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/d0d469b3
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d0d469b3
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d0d469b3
Branch: refs/heads/master
Commit: d0d469b32d8afc27d620ef5bba6a395c0cf7001a
Parents: 791805f
Author: Willem Jiang <wi...@gmail.com>
Authored: Thu Dec 11 20:29:08 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Thu Dec 11 21:29:46 2014 +0800
----------------------------------------------------------------------
.../java/org/apache/camel/component/mina/MinaConsumer.java | 2 +-
.../component/mina/MinaTcpWithInOutUsingPlainSocketTest.java | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/d0d469b3/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
index 6616d94..c81c61a 100644
--- a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
+++ b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsumer.java
@@ -118,7 +118,7 @@ public class MinaConsumer extends DefaultConsumer {
// if sync then we should return a response
if (sync) {
Object body;
- if (ExchangeHelper.isOutCapable(exchange)) {
+ if (exchange.hasOut()) {
body = MinaPayloadHelper.getOut(getEndpoint(), exchange);
} else {
body = MinaPayloadHelper.getIn(getEndpoint(), exchange);
http://git-wip-us.apache.org/repos/asf/camel/blob/d0d469b3/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java
----------------------------------------------------------------------
diff --git a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java
index b29f27a..c4d678d 100644
--- a/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java
+++ b/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithInOutUsingPlainSocketTest.java
@@ -75,6 +75,12 @@ public class MinaTcpWithInOutUsingPlainSocketTest extends BaseMinaTest {
assertTrue("out should not be the same as in when the exchange has failed", !"force-exception".equals(out));
assertEquals("should get the exception here", out, "java.lang.IllegalArgumentException: Forced exception");
}
+
+ @Test
+ public void testExchangeWithInOnly() throws IOException {
+ String out = sendAndReceive("force-set-in-body");
+ assertEquals("Get a wrong response message", "Update the in message!", out);
+ }
private String sendAndReceive(String input) throws IOException {
byte buf[] = new byte[128];
@@ -129,6 +135,8 @@ public class MinaTcpWithInOutUsingPlainSocketTest extends BaseMinaTest {
// clear out before throwing exception
e.getOut().setBody(null);
throw new IllegalArgumentException("Forced exception");
+ } else if ("force-set-in-body".equals(in)) {
+ e.getIn().setBody("Update the in message!");
} else {
e.getOut().setBody("Hello " + in);
}