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 08:19:11 UTC

What JCA+transaction can do ?

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


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

Posted by Dominique DE VITO <do...@thalesgroup.com>.
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 JCA+transaction can do ?

Posted by Guillaume Nodet <gn...@gmail.com>.
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/