You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Bummer <sa...@gmail.com> on 2008/04/14 03:03:46 UTC

jms:consumer + jcaflow doesn't work ?

Doesn't jcaflow and jms:consumer work together ?

I have used jms:consumer instead of jms:endpoint for I needed to
process the message exchanges synchronously using the
"concurrentConsumers=1" option. And it worked ok.

However, when I commented out the sedaflow and jmsflow, I had an error
messages like following:
....
WARN  - DefaultMessageListenerContainer - Execution of JMS message listener
failed
....
Caused by: javax.jbi.messaging.MessagingException: Unable to choose a flow
for exchange: InOnly[
....

Do I have to use sedaflow if I want to use jms component ?
or Is there anything else that I can change ?

Thanks in advance.
-- 
View this message in context: http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16670016.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: jms:consumer + jcaflow doesn't work ?

Posted by Bummer <sa...@gmail.com>.
Thanks for your opinion. 
I have to think about it.

when we bring in "HA", it sure solves a *lot*.



gnodet wrote:
> 
> Sure there is.  The JCA flow is not all-mighty, it just uses JMS
> underneath.  So instead of using the JCA flow, make sure your JMS consumer
> is transacted and that your messages are persistent.  Using a synchronous
> endpoint will make use of the SEDA flow, but the jms message consumption
> will be enlisted in a transaction, so if anything bad occurs, the jms
> message will still be in the queue.  This is imnsho the most efficient way
> to provide HA with ServiceMix.
> 
> On Tue, Apr 15, 2008 at 2:12 AM, Bummer <sa...@gmail.com> wrote:
> 
>>
>> yes. That was what exactly happened.
>> I tried the synchronous option(false) already and the messages were
>> out of sequence.
>>
>> smx doesn't support sequential process with jcaflow ?
>> I don't mind using sedaflow but what happens when server goes down
>> in the middle of processing message exchange ?
>>
>> Is there any way around of sequential processing with
>> message persistence ?
>>
>>
>> gnodet wrote:
>> >
>> > You can change the jms endpoint to send the JBI exchange asynchronously
>> > and
>> > you should then be able to use the JCA flow.  Try
>> >    <jms:consumer synchronous="false" />
>> > however, not that you will loose the fact that only one message will be
>> > processed at the same time, because as soon as the message will be sent
>> > asynchronsously, another one can be consumed from the jms queue and
>> > processed.
>> >
>> > On Mon, Apr 14, 2008 at 3:03 AM, Bummer <sa...@gmail.com> wrote:
>> >
>> >>
>> >> Doesn't jcaflow and jms:consumer work together ?
>> >>
>> >> I have used jms:consumer instead of jms:endpoint for I needed to
>> >> process the message exchanges synchronously using the
>> >> "concurrentConsumers=1" option. And it worked ok.
>> >>
>> >> However, when I commented out the sedaflow and jmsflow, I had an error
>> >> messages like following:
>> >> ....
>> >> WARN  - DefaultMessageListenerContainer - Execution of JMS message
>> >> listener
>> >> failed
>> >> ....
>> >> Caused by: javax.jbi.messaging.MessagingException: Unable to choose a
>> >> flow
>> >> for exchange: InOnly[
>> >> ....
>> >>
>> >> Do I have to use sedaflow if I want to use jms component ?
>> >> or Is there anything else that I can change ?
>> >>
>> >> Thanks in advance.
>> >> --
>> >> View this message in context:
>> >>
>> http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16670016.html
>> >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >
>> >
>> > --
>> > Cheers,
>> > Guillaume Nodet
>> > ------------------------
>> > Blog: http://gnodet.blogspot.com/
>> >
>> >
>>
>> --
>> View this message in context:
>> http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16692591.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16718953.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: jms:consumer + jcaflow doesn't work ?

Posted by Guillaume Nodet <gn...@gmail.com>.
Sure there is.  The JCA flow is not all-mighty, it just uses JMS
underneath.  So instead of using the JCA flow, make sure your JMS consumer
is transacted and that your messages are persistent.  Using a synchronous
endpoint will make use of the SEDA flow, but the jms message consumption
will be enlisted in a transaction, so if anything bad occurs, the jms
message will still be in the queue.  This is imnsho the most efficient way
to provide HA with ServiceMix.

On Tue, Apr 15, 2008 at 2:12 AM, Bummer <sa...@gmail.com> wrote:

>
> yes. That was what exactly happened.
> I tried the synchronous option(false) already and the messages were
> out of sequence.
>
> smx doesn't support sequential process with jcaflow ?
> I don't mind using sedaflow but what happens when server goes down
> in the middle of processing message exchange ?
>
> Is there any way around of sequential processing with
> message persistence ?
>
>
> gnodet wrote:
> >
> > You can change the jms endpoint to send the JBI exchange asynchronously
> > and
> > you should then be able to use the JCA flow.  Try
> >    <jms:consumer synchronous="false" />
> > however, not that you will loose the fact that only one message will be
> > processed at the same time, because as soon as the message will be sent
> > asynchronsously, another one can be consumed from the jms queue and
> > processed.
> >
> > On Mon, Apr 14, 2008 at 3:03 AM, Bummer <sa...@gmail.com> wrote:
> >
> >>
> >> Doesn't jcaflow and jms:consumer work together ?
> >>
> >> I have used jms:consumer instead of jms:endpoint for I needed to
> >> process the message exchanges synchronously using the
> >> "concurrentConsumers=1" option. And it worked ok.
> >>
> >> However, when I commented out the sedaflow and jmsflow, I had an error
> >> messages like following:
> >> ....
> >> WARN  - DefaultMessageListenerContainer - Execution of JMS message
> >> listener
> >> failed
> >> ....
> >> Caused by: javax.jbi.messaging.MessagingException: Unable to choose a
> >> flow
> >> for exchange: InOnly[
> >> ....
> >>
> >> Do I have to use sedaflow if I want to use jms component ?
> >> or Is there anything else that I can change ?
> >>
> >> Thanks in advance.
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16670016.html
> >> Sent from the ServiceMix - User mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > --
> > Cheers,
> > Guillaume Nodet
> > ------------------------
> > Blog: http://gnodet.blogspot.com/
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16692591.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: jms:consumer + jcaflow doesn't work ?

Posted by Bummer <sa...@gmail.com>.
yes. That was what exactly happened.
I tried the synchronous option(false) already and the messages were
out of sequence.

smx doesn't support sequential process with jcaflow ?
I don't mind using sedaflow but what happens when server goes down
in the middle of processing message exchange ?

Is there any way around of sequential processing with
message persistence ?


gnodet wrote:
> 
> You can change the jms endpoint to send the JBI exchange asynchronously
> and
> you should then be able to use the JCA flow.  Try
>    <jms:consumer synchronous="false" />
> however, not that you will loose the fact that only one message will be
> processed at the same time, because as soon as the message will be sent
> asynchronsously, another one can be consumed from the jms queue and
> processed.
> 
> On Mon, Apr 14, 2008 at 3:03 AM, Bummer <sa...@gmail.com> wrote:
> 
>>
>> Doesn't jcaflow and jms:consumer work together ?
>>
>> I have used jms:consumer instead of jms:endpoint for I needed to
>> process the message exchanges synchronously using the
>> "concurrentConsumers=1" option. And it worked ok.
>>
>> However, when I commented out the sedaflow and jmsflow, I had an error
>> messages like following:
>> ....
>> WARN  - DefaultMessageListenerContainer - Execution of JMS message
>> listener
>> failed
>> ....
>> Caused by: javax.jbi.messaging.MessagingException: Unable to choose a
>> flow
>> for exchange: InOnly[
>> ....
>>
>> Do I have to use sedaflow if I want to use jms component ?
>> or Is there anything else that I can change ?
>>
>> Thanks in advance.
>> --
>> View this message in context:
>> http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16670016.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> 
> 

-- 
View this message in context: http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16692591.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: jms:consumer + jcaflow doesn't work ?

Posted by Guillaume Nodet <gn...@gmail.com>.
You can change the jms endpoint to send the JBI exchange asynchronously and
you should then be able to use the JCA flow.  Try
   <jms:consumer synchronous="false" />
however, not that you will loose the fact that only one message will be
processed at the same time, because as soon as the message will be sent
asynchronsously, another one can be consumed from the jms queue and
processed.

On Mon, Apr 14, 2008 at 3:03 AM, Bummer <sa...@gmail.com> wrote:

>
> Doesn't jcaflow and jms:consumer work together ?
>
> I have used jms:consumer instead of jms:endpoint for I needed to
> process the message exchanges synchronously using the
> "concurrentConsumers=1" option. And it worked ok.
>
> However, when I commented out the sedaflow and jmsflow, I had an error
> messages like following:
> ....
> WARN  - DefaultMessageListenerContainer - Execution of JMS message
> listener
> failed
> ....
> Caused by: javax.jbi.messaging.MessagingException: Unable to choose a flow
> for exchange: InOnly[
> ....
>
> Do I have to use sedaflow if I want to use jms component ?
> or Is there anything else that I can change ?
>
> Thanks in advance.
> --
> View this message in context:
> http://www.nabble.com/jms%3Aconsumer-%2B-jcaflow-doesn%27t-work---tp16670016p16670016.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/