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 2015/03/31 11:44:26 UTC
[4/4] camel git commit: CAMEL-8576 Added a option to let camel netty
take the message body as byte buffer
CAMEL-8576 Added a option to let camel netty take the message body as byte buffer
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/780b41b4
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/780b41b4
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/780b41b4
Branch: refs/heads/master
Commit: 780b41b47647141eef375d2e518d6313cdacad88
Parents: dfdaed5
Author: Willem Jiang <wi...@gmail.com>
Authored: Tue Mar 31 17:42:28 2015 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Tue Mar 31 17:42:45 2015 +0800
----------------------------------------------------------------------
.../camel/component/netty4/NettyConfiguration.java | 10 ++++++++++
.../camel/component/netty4/NettyPayloadHelper.java | 11 ++++++++---
2 files changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/780b41b4/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java
index d315f43..7fbe1d8 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConfiguration.java
@@ -94,6 +94,8 @@ public class NettyConfiguration extends NettyServerBootstrapConfiguration implem
private boolean udpConnectionlessSending;
@UriParam(defaultValue = "false")
private boolean clientMode;
+ @UriParam(defaultValue = "false")
+ private boolean useByteBuf;
/**
@@ -493,6 +495,14 @@ public class NettyConfiguration extends NettyServerBootstrapConfiguration implem
this.clientMode = clientMode;
}
+ public boolean isUseByteBuf() {
+ return useByteBuf;
+ }
+
+ public void setUseByteBuf(boolean useByteBuf) {
+ this.useByteBuf = useByteBuf;
+ }
+
private static <T> void addToHandlersList(List<T> configured, List<T> handlers, Class<T> handlerType) {
if (handlers != null) {
for (T handler : handlers) {
http://git-wip-us.apache.org/repos/asf/camel/blob/780b41b4/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
index 714957b..3e2a27c 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyPayloadHelper.java
@@ -18,8 +18,8 @@ package org.apache.camel.component.netty4;
import java.net.InetSocketAddress;
+import io.netty.buffer.ByteBuf;
import io.netty.channel.AddressedEnvelope;
-
import org.apache.camel.Exchange;
import org.apache.camel.impl.DefaultExchangeHolder;
@@ -43,8 +43,13 @@ public final class NettyPayloadHelper {
// we should transfer the entire exchange over the wire (includes in/out)
return DefaultExchangeHolder.marshal(exchange);
} else {
- // normal transfer using the body only
- return exchange.getIn().getBody();
+ if (endpoint.getConfiguration().isUseByteBuf()) {
+ // Just leverage the type converter
+ return exchange.getIn().getBody(ByteBuf.class);
+ } else {
+ // normal transfer using the body only
+ return exchange.getIn().getBody();
+ }
}
}