camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tomas Hanus (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CAMEL-7946) Backward compatibility of RoutingSlip/RecipientList statement is violated
Date Fri, 24 Oct 2014 06:20:33 GMT

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

Mime
View raw message