[ 
https://issues.apache.org/activemq/browse/SM-1667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=48590#action_48590
 ] 

Andrea Zoppello commented on SM-1667:
-------------------------------------

Hi Guillaume,

The news you're saying is quite interesting.

Despite all things, maybe it's my limitation, but i do not see a real utility 
to have a flow where you use a mixin of send and send sync.
and i don't real understand the meaning of handling a transactional context 
management  when using async send. Could you explain this with a real example??

My opinion is that in real use case you would have the following use case:

1) Synchnronous Execution, this mean for me that if i've a flow A->B->C where A 
is m starting binding component, if i use sync when
an external application will use that flow it wait until it receives either a) 
a Response b) a Status Code c) a Response. 
In that case each error must be propagated back to the client because i'm using 
sync and i'm expecting some type of response or status code.

2) ASynchnronous Execution, this mean that if i've the same  flow A->B->C if i 
use an async model i don't want the client be pending until execution of B and 
C, so it cannot handle a transactional context. In that case i'm figuring 
propagating back the error is not correct for me.

In Async case the approach of "handling a fault" in some way without 
propagating back, but handling with a restart or a specific handler is quite 
useful.

My reference to BPEL was not referring using the BPEL service engine inside 
servicemix, but to make an example because BPEL with compensation handler, and 
error handler construct are in my opinion the only right way to handle faults 
in SOA projects.

BTW my suggesttion is to have this way:

When a consumer receive back an error for an exchange, if the orginal exchange 
was sent using send it should be propagated back
otherwise no, that's my proposal and not to propagate back always, in that case 
the error must be handled in other ways but must not be propagate back.

Andrea



> TransformBeanSupport does not correctly report errors for in-only exchanges
> ---------------------------------------------------------------------------
>
>                 Key: SM-1667
>                 URL: https://issues.apache.org/activemq/browse/SM-1667
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-bean
>    Affects Versions: servicemix-bean-2008.01
>            Reporter: Ron Gavlin
>            Assignee: Guillaume Nodet
>            Priority: Critical
>             Fix For: servicemix-bean-2008.02, 3.2.4
>
>         Attachments: sm-1667-inout-regression.patch
>
>
> The smx-bean TransformBeanSupport class does not correctly report errors for 
> in-only exchanges. If the target exchange status is ERROR, the source 
> exchange status is still returned as DONE. This should be fixed for both sync 
> and async use cases.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to