You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Dominique DE VITO <do...@thalesgroup.com> on 2007/03/21 17:45:44 UTC

What seda+transaction can do (about many components) ? -- Re: What JCA+transaction can do ?

If I understand correctly, seda+transaction can't include also two 
components into one transaction (like JMS-queue-reader=>WE).

Just like what you said about JCA+transaction !?

I mean, I declared :

(1) flowName="seda" + autoEnlistInTransaction="true"

(2) <jms:endpoint role="consumer" ...
  connectionFactory="#jmsFactory" ...
  synchronous="true"
  processorName="jca"
  bootstrapContext="#bootstrapContext"
  resourceAdapter="#activemqRA">

with jmsFactory as "JMS Xa-enabled pooled factory"

So far, If WS BC component fails, the JMS msg is still consumed. It 
looks like different than the 1st figure in 
http://incubator.apache.org/servicemix/transactions.html

It seda+transaction behavior just like JCA+transaction about exchange 
lifecycle (enrolment of component into the transaction) ???

Thanks.

Dominique


Guillaume Nodet wrote :
> Currently, the JCA flow does not interfere with the exchange lifecycle.
> I.e., it will ensure that the exchange is delivered to the target 
> component,
> but will not rollback the transaction if the exchange is put in an ERROR
> state.
> But things can always be improved ;-)
>
> On 3/21/07, Dominique DE VITO <do...@thalesgroup.com> wrote:
>>
>> Hi,
>>
>> I have defined a pipeline like this : JMS queue reader=>WS (BC).
>> With JCA flow (+ XA).
>>
>> I test first without running tomcat providing the external WS. An error
>> occurs and I expect that the initial msg stays in the queue.
>> After starting tomcat, and re-starting SMX, no msg is found into the JMS
>> queue.
>>
>> Is it the normal behavior ? Or, is there something missing in my
>> configuration ?
>>
>> Thanks.
>>
>> Dominique
>>
>>
>
>


Re: What seda+transaction can do (about many components) ? -- Re: What JCA+transaction can do ?

Posted by Dominique DE VITO <do...@thalesgroup.com>.
Sure, but...

You wrote: "the JCA flow does not interfere with the exchange lifecycle" 
=> I conclude : JCA+transaction CAN'T encompass today 2 components (if 
the 2nd component fails, the 1st one still consumes a msg).

In theory, I am able to use seca+transaction. But, in practice, can 
seda+transaction encompass, or not, 2 components ? If the 2nd component, 
is the 1st one still consumes a msg with seda+transaction ?


Guillaume Nodet wrote :
> Actually, the flow chosen is a consequence of the QoS.
> So, if your exchange is transacted + synchronous,
> the SEDA flow will be chosen.
>
> On 3/22/07, Dominique DE VITO <do...@thalesgroup.com> wrote:
>>
>> Let's put things simpler: can SEDA+transaction encompass 2 SMX
>> components in a transaction ?
>> Thanks for the answer.
>> Dominique
>>
>> Dominique DE VITO a écrit :
>> > If I understand correctly, seda+transaction can't include also two
>> > components into one transaction (like JMS-queue-reader=>WE).
>> >
>> > Just like what you said about JCA+transaction !?
>> >
>> > I mean, I declared :
>> >
>> > (1) flowName="seda" + autoEnlistInTransaction="true"
>> >
>> > (2) <jms:endpoint role="consumer" ...
>> >  connectionFactory="#jmsFactory" ...
>> >  synchronous="true"
>> >  processorName="jca"
>> >  bootstrapContext="#bootstrapContext"
>> >  resourceAdapter="#activemqRA">
>> >
>> > with jmsFactory as "JMS Xa-enabled pooled factory"
>> >
>> > So far, If WS BC component fails, the JMS msg is still consumed. It
>> > looks like different than the 1st figure in
>> > http://incubator.apache.org/servicemix/transactions.html
>> >
>> > It seda+transaction behavior just like JCA+transaction about exchange
>> > lifecycle (enrolment of component into the transaction) ???
>> >
>> > Thanks.
>> >
>> > Dominique
>> >
>> >
>> > Guillaume Nodet wrote :
>> >> Currently, the JCA flow does not interfere with the exchange 
>> lifecycle.
>> >> I.e., it will ensure that the exchange is delivered to the target
>> >> component,
>> >> but will not rollback the transaction if the exchange is put in an
>> ERROR
>> >> state.
>> >> But things can always be improved ;-)
>> >>
>> >> On 3/21/07, Dominique DE VITO <do...@thalesgroup.com> 
>> wrote:
>> >>>
>> >>> Hi,
>> >>>
>> >>> I have defined a pipeline like this : JMS queue reader=>WS (BC).
>> >>> With JCA flow (+ XA).
>> >>>
>> >>> I test first without running tomcat providing the external WS. An
>> error
>> >>> occurs and I expect that the initial msg stays in the queue.
>> >>> After starting tomcat, and re-starting SMX, no msg is found into the
>> >>> JMS
>> >>> queue.
>> >>>
>> >>> Is it the normal behavior ? Or, is there something missing in my
>> >>> configuration ?
>> >>>
>> >>> Thanks.
>> >>>
>> >>> Dominique
>> >>>
>> >>>
>> >>
>> >>
>> >
>>
>>
>
>


Re: What seda+transaction can do (about many components) ? -- Re: What JCA+transaction can do ?

Posted by Guillaume Nodet <gn...@gmail.com>.
Actually, the flow chosen is a consequence of the QoS.
So, if your exchange is transacted + synchronous,
the SEDA flow will be chosen.

On 3/22/07, Dominique DE VITO <do...@thalesgroup.com> wrote:
>
> Let's put things simpler: can SEDA+transaction encompass 2 SMX
> components in a transaction ?
> Thanks for the answer.
> Dominique
>
> Dominique DE VITO a écrit :
> > If I understand correctly, seda+transaction can't include also two
> > components into one transaction (like JMS-queue-reader=>WE).
> >
> > Just like what you said about JCA+transaction !?
> >
> > I mean, I declared :
> >
> > (1) flowName="seda" + autoEnlistInTransaction="true"
> >
> > (2) <jms:endpoint role="consumer" ...
> >  connectionFactory="#jmsFactory" ...
> >  synchronous="true"
> >  processorName="jca"
> >  bootstrapContext="#bootstrapContext"
> >  resourceAdapter="#activemqRA">
> >
> > with jmsFactory as "JMS Xa-enabled pooled factory"
> >
> > So far, If WS BC component fails, the JMS msg is still consumed. It
> > looks like different than the 1st figure in
> > http://incubator.apache.org/servicemix/transactions.html
> >
> > It seda+transaction behavior just like JCA+transaction about exchange
> > lifecycle (enrolment of component into the transaction) ???
> >
> > Thanks.
> >
> > Dominique
> >
> >
> > Guillaume Nodet wrote :
> >> Currently, the JCA flow does not interfere with the exchange lifecycle.
> >> I.e., it will ensure that the exchange is delivered to the target
> >> component,
> >> but will not rollback the transaction if the exchange is put in an
> ERROR
> >> state.
> >> But things can always be improved ;-)
> >>
> >> On 3/21/07, Dominique DE VITO <do...@thalesgroup.com> wrote:
> >>>
> >>> Hi,
> >>>
> >>> I have defined a pipeline like this : JMS queue reader=>WS (BC).
> >>> With JCA flow (+ XA).
> >>>
> >>> I test first without running tomcat providing the external WS. An
> error
> >>> occurs and I expect that the initial msg stays in the queue.
> >>> After starting tomcat, and re-starting SMX, no msg is found into the
> >>> JMS
> >>> queue.
> >>>
> >>> Is it the normal behavior ? Or, is there something missing in my
> >>> configuration ?
> >>>
> >>> Thanks.
> >>>
> >>> Dominique
> >>>
> >>>
> >>
> >>
> >
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Architect, LogicBlaze (http://www.logicblaze.com/)
Blog: http://gnodet.blogspot.com/

Re: What seda+transaction can do (about many components) ? -- Re: What JCA+transaction can do ?

Posted by Dominique DE VITO <do...@thalesgroup.com>.
Let's put things simpler: can SEDA+transaction encompass 2 SMX 
components in a transaction ?
Thanks for the answer.
Dominique

Dominique DE VITO a écrit :
> If I understand correctly, seda+transaction can't include also two 
> components into one transaction (like JMS-queue-reader=>WE).
>
> Just like what you said about JCA+transaction !?
>
> I mean, I declared :
>
> (1) flowName="seda" + autoEnlistInTransaction="true"
>
> (2) <jms:endpoint role="consumer" ...
>  connectionFactory="#jmsFactory" ...
>  synchronous="true"
>  processorName="jca"
>  bootstrapContext="#bootstrapContext"
>  resourceAdapter="#activemqRA">
>
> with jmsFactory as "JMS Xa-enabled pooled factory"
>
> So far, If WS BC component fails, the JMS msg is still consumed. It 
> looks like different than the 1st figure in 
> http://incubator.apache.org/servicemix/transactions.html
>
> It seda+transaction behavior just like JCA+transaction about exchange 
> lifecycle (enrolment of component into the transaction) ???
>
> Thanks.
>
> Dominique
>
>
> Guillaume Nodet wrote :
>> Currently, the JCA flow does not interfere with the exchange lifecycle.
>> I.e., it will ensure that the exchange is delivered to the target 
>> component,
>> but will not rollback the transaction if the exchange is put in an ERROR
>> state.
>> But things can always be improved ;-)
>>
>> On 3/21/07, Dominique DE VITO <do...@thalesgroup.com> wrote:
>>>
>>> Hi,
>>>
>>> I have defined a pipeline like this : JMS queue reader=>WS (BC).
>>> With JCA flow (+ XA).
>>>
>>> I test first without running tomcat providing the external WS. An error
>>> occurs and I expect that the initial msg stays in the queue.
>>> After starting tomcat, and re-starting SMX, no msg is found into the 
>>> JMS
>>> queue.
>>>
>>> Is it the normal behavior ? Or, is there something missing in my
>>> configuration ?
>>>
>>> Thanks.
>>>
>>> Dominique
>>>
>>>
>>
>>
>