This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 6b341bcd931ae8c6c7ca8d2832f7ae744300cd5c
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Apr 11 16:52:39 2018 +0200

    CAMEL-12427: camel-netty4 - Add SPI to plugin custom correlation state for 
request/reply in producer
---
 .../src/main/docs/netty4-component.adoc            | 23 +++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc 
b/components/camel-netty4/src/main/docs/netty4-component.adoc
index dfde1c7..c190ca0 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -663,7 +663,28 @@ And if we have another route we can refer to the shared 
worker pool:
 </route>
 ----
 
-... and so forth.
+and so forth.
+
+=== Multiplexing concurrent messages over a single connection with 
request/reply
+
+When using Netty for request/reply messaging via the netty producer then by 
default each
+message is sent via a non-shared connection (pooled). This ensures that 
replies are
+automatic being able to map to the correct request thread for further routing 
in Camel.
+In other words correlation between request/reply messages happens 
out-of-the-box because
+the replies comes back on the same connection that was used for sending the 
request;
+and this connection is not shared with others. When the response comes back, 
the connection
+is returned back to the connection pool, where it can be reused by others.
+
+However if you want to multiplex concurrent request/responses on a single 
shared connection,
+then you need to turn off the connection pooling by setting 
`producerPoolEnabled=false`.
+Now this means there is a potential issue with interleaved responses if 
replies comes back out-of-order.
+Therefore you need to have a correlation id in both the request and reply 
messages so you can properly
+correlate the replies to the Camel callback that is responsible for continue 
processing the message in Camel.
+To do this you need to implement `NettyCamelStateCorrelationManager` as 
correlation manager and configure
+it via the `correlationManager=#myManager` option.
+
+You can find an example with the Apache Camel source code in the examples 
directory
+under the `camel-netty-custom-correlation-example` directory.
 
 === See Also
 

-- 
To stop receiving notification emails like this one, please contact
davscl...@apache.org.

Reply via email to