From commits-return-76070-archive-asf-public=cust-asf.ponee.io@camel.apache.org Wed Aug 7 13:10:37 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 8DE7C180679 for ; Wed, 7 Aug 2019 15:10:36 +0200 (CEST) Received: (qmail 91093 invoked by uid 500); 7 Aug 2019 13:10:34 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 90851 invoked by uid 99); 7 Aug 2019 13:10:34 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Aug 2019 13:10:33 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id BF12685EF8; Wed, 7 Aug 2019 13:10:33 +0000 (UTC) Date: Wed, 07 Aug 2019 13:10:40 +0000 To: "commits@camel.apache.org" Subject: [camel] 08/20: CAMEL-13792 - Rename components to default names, Camel-netty4 to camel-netty - Fixed refs in camel-mllp MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: acosentino@apache.org In-Reply-To: <156518343215.30597.13986113199134982892@gitbox.apache.org> References: <156518343215.30597.13986113199134982892@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: camel X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Rev: db3237042b4d15913fd41b5272b22cceb21e2da2 X-Git-NotificationType: diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated Message-Id: <20190807131033.BF12685EF8@gitbox.apache.org> This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel.git commit db3237042b4d15913fd41b5272b22cceb21e2da2 Author: Andrea Cosentino AuthorDate: Wed Aug 7 12:58:11 2019 +0200 CAMEL-13792 - Rename components to default names, Camel-netty4 to camel-netty - Fixed refs in camel-mllp --- components/camel-mllp/README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/components/camel-mllp/README.md b/components/camel-mllp/README.md index a35fdc4..e398040 100644 --- a/components/camel-mllp/README.md +++ b/components/camel-mllp/README.md @@ -52,23 +52,23 @@ eliminates the dependencies on other camel components. While Camel already includes some of this functionality in the camel-hl7 component, the implementation does not provide all of the functionality required to effectively handle the MLLP protocol - especially under adverse conditions. -The camel-hl7 Mina2 codec and Netty4 decoder do not handle MLLP Framing errors very well - the component will hang waiting +The camel-hl7 Mina2 codec and Netty decoder do not handle MLLP Framing errors very well - the component will hang waiting for frames to complete in some instances. -While both camel-mina and camel-netty4 provide a "timeout" function, it is only applied to Producers. MLLP Consumers +While both camel-mina and camel-netty provide a "timeout" function, it is only applied to Producers. MLLP Consumers also need to be able to timeout to recover from MLLP framing errors. Additionally, the timeout functionality of the -camel-netty4 component is disable after any data is received on the connection, making in ineffective for detecting +camel-netty component is disable after any data is received on the connection, making in ineffective for detecting timeouts after the first messages is received. -Also, neither the Mina2 codec nor the Netty4 decoder interrogate HL7 Acknowledgments. Therefore, it is much more +Also, neither the Mina2 codec nor the Netty decoder interrogate HL7 Acknowledgments. Therefore, it is much more difficult to use the redelivery and error handling features Camel provides. The above issues may be addressable by updating/patching the existing components, but there is one more that is not. -Both camel-netty4 and camel-mina are designed to handle a large number of concurrent connections, rapid connect/disconnect +Both camel-netty and camel-mina are designed to handle a large number of concurrent connections, rapid connect/disconnect rates, and asynchronous communication. Forcing, these components to deal with the small number of stateful connections inherent to the MLLP protocol seems inappropriate. -An attempt was made to update the camel-netty4 decoder provided by the camel-hl7 component to deal with the nuances of +An attempt was made to update the camel-netty decoder provided by the camel-hl7 component to deal with the nuances of the MLLP protocol, but it quickly became very complicated. The decoder was updated to correctly deal with the MLLP frame. The current implementation is based on the Netty DelimiterBasedFrameDecoder, but this decoder only looks for a single byte terminator and MLLP uses two bytes to terminate it's frame. Additionally, the second terminating byte of the