Return-Path: X-Original-To: apmail-camel-issues-archive@minotaur.apache.org Delivered-To: apmail-camel-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E5D8810892 for ; Fri, 24 Oct 2014 06:20:33 +0000 (UTC) Received: (qmail 76336 invoked by uid 500); 24 Oct 2014 06:20:33 -0000 Delivered-To: apmail-camel-issues-archive@camel.apache.org Received: (qmail 76302 invoked by uid 500); 24 Oct 2014 06:20:33 -0000 Mailing-List: contact issues-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 issues@camel.apache.org Received: (qmail 76293 invoked by uid 99); 24 Oct 2014 06:20:33 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Oct 2014 06:20:33 +0000 Date: Fri, 24 Oct 2014 06:20:33 +0000 (UTC) From: "Tomas Hanus (JIRA)" To: issues@camel.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CAMEL-7946) Backward compatibility of RoutingSlip/RecipientList statement is violated MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CAMEL-7946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tomas Hanus updated CAMEL-7946: ------------------------------- Description: Currently we fixed issue in production of route that uses routingSlip statement for dynamic resolution of endpoint. This route is synchronous when next endpoint expects some result from previous endpoint that was resolved by routingSlip. Problem is, and we don't know how long (camel version), that without explicit statement which defines ExchangePattern as *InOut* before using routingSlip unexpected behaviour occurs. It looks like *InOnly* by default. *wrong approach*: .recipientList(method(MyRoute.class, "getUri")).id(ENDPOINT_ID_EXT); *correct behaviour*: // for request/reply .setExchangePattern(ExchangePattern.InOut) .recipientList(method(MyRoute.class, "getUri")).id(ENDPOINT_ID_EXT); Because this change is *not backwards compatible* and has a very unexpected behavior and this issue is difficult to identify. was: Currently we fixed issue in production of route that uses routingSlip statement for dynamic resolution of endpoint. This route is synchronous when next endpoint expects some result from previous endpoint that was resolved by routingSlip. Problem is, and we don't know how long (camel version), that without explicit statement which defines ExchangePattern as *InOut* before using routingSlip unexpected behaviour occurs. *wrong approach*: .recipientList(method(MyRoute.class, "getUri")).id(ENDPOINT_ID_EXT); *correct behaviour*: // for request/reply .setExchangePattern(ExchangePattern.InOut) .recipientList(method(MyRoute.class, "getUri")).id(ENDPOINT_ID_EXT); Because this change is *not backwards compatible* and has a very unexpected behavior and this issue is difficult to identify. > Backward compatibility of RoutingSlip/RecipientList statement is violated > ------------------------------------------------------------------------- > > Key: CAMEL-7946 > URL: https://issues.apache.org/jira/browse/CAMEL-7946 > Project: Camel > Issue Type: Bug > Affects Versions: 2.13.2 > Reporter: Tomas Hanus > Labels: core > > Currently we fixed issue in production of route that uses routingSlip statement for dynamic resolution of endpoint. This route is synchronous when next endpoint expects some result from previous endpoint that was resolved by routingSlip. Problem is, and we don't know how long (camel version), that without explicit statement which defines ExchangePattern as *InOut* before using routingSlip unexpected behaviour occurs. It looks like *InOnly* by default. > *wrong approach*: > .recipientList(method(MyRoute.class, "getUri")).id(ENDPOINT_ID_EXT); > *correct behaviour*: > // for request/reply > .setExchangePattern(ExchangePattern.InOut) > .recipientList(method(MyRoute.class, "getUri")).id(ENDPOINT_ID_EXT); > Because this change is *not backwards compatible* and has a very unexpected behavior and this issue is difficult to identify. -- This message was sent by Atlassian JIRA (v6.3.4#6332)