[ 
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)

Reply via email to