Thanks for your accurate answers.

I have seen messages groups but i have some messages which are out
potential groups.

So i have to deal with unordered messages. (or i should find a way to
have multiconsumer the main time and some time for some known messages
i should "downgrade" to only one consumer and then restart all
consumers but it will not work ^^).

Regards
Hervé

On 1/31/12, Claus Ibsen <claus.ib...@gmail.com> wrote:
> On Tue, Jan 31, 2012 at 10:00 AM, Hervé BARRAULT
> <herve.barra...@gmail.com> wrote:
>> Thanks,
>> So, i should publish sequentially and can consume concurrently.
>
> Yeah, or public concurrently also. If ordering does not matter.
>
> Only if you need ordering of messages, and process concurrently you
> can use message groups
> http://activemq.apache.org/how-do-i-preserve-order-of-messages.html
> http://activemq.apache.org/how-do-message-groups-compare-to-selectors.html
> http://activemq.apache.org/message-groups.html
>
>
>>
>> As there is only direct component which is a synchronous call, I guess
>> a transaction can work across multiple route but in one camel context.
>>
>
> Yes that would work.
>
>> Am i wrong ?
>
> No.
>
>
>>
>>
>> On 1/30/12, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>> On Mon, Jan 30, 2012 at 3:41 PM, Hervé BARRAULT
>>> <herve.barra...@gmail.com> wrote:
>>>> Hi,
>>>> thanks for the quick answer.
>>>>
>>>>> It does not support batching, not async TX, etc.
>>>>
>>>> But does it supports TX and concurrentConsumers ?
>>>>
>>>> I have to multiply the number of consumers as they are slower than the
>>>> producer.
>>>>
>>>
>>> Yes.
>>>
>>>
>>>>
>>>> On 1/30/12, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>>>> On Mon, Jan 30, 2012 at 11:05 AM, Hervé BARRAULT
>>>>> <herve.barra...@gmail.com> wrote:
>>>>>> Hi, thanks for confirmation.
>>>>>> So for publication, i should use a transactions with sequential
>>>>>> mechanism.
>>>>>>
>>>>>> I have seen also on activeMQ documentation :
>>>>>> http://activemq.apache.org/should-i-use-transactions.html :
>>>>>> Its also worth noting that if you are using persistent messaging, the
>>>>>> fastest way of using JMS is to actually use transactions and use
>>>>>> batching ...
>>>>>>
>>>>>> Is this mechanism working when using concurrentConsumer ?
>>>>>> Or should i choose between transaction and batching ?
>>>>>>
>>>>>
>>>>> The camel-jms component is baked on top of Spring JMS which is generic
>>>>> and limited in some areas.
>>>>> It does not support batching, not async TX, etc.
>>>>>
>>>>> Alot of people just use it as is, and its fast enough for their
>>>>> use-cases.
>>>>> I suggest to use that, and do some testing to see if its fast enough
>>>>> for
>>>>> you.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> Thanks for answers
>>>>>>
>>>>>> Regards
>>>>>>
>>>>>> Hervé
>>>>>>
>>>>>>
>>>>>> On 1/28/12, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>>>>>> Spring Transaction does not support using multiple threads. The
>>>>>>> transactional work should be done in the same thread, from spring TX
>>>>>>> manager point of view.
>>>>>>>
>>>>>>> On Fri, Jan 27, 2012 at 5:29 PM, Hervé BARRAULT
>>>>>>> <herve.barra...@gmail.com> wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I found in archive that parallel processing is not compatible with
>>>>>>>> transaction.
>>>>>>>>
>>>>>>>> Is it still relevant or is there a workaround ?
>>>>>>>>
>>>>>>>> Regards
>>>>>>>>
>>>>>>>> Hervé
>>>>>>>>
>>>>>>>> On 1/27/12, Hervé BARRAULT <herve.barra...@gmail.com> wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I have two question about a route, JMS and transactions.
>>>>>>>>>
>>>>>>>>> The use is : one request response Web service put message on n
>>>>>>>>> queues
>>>>>>>>> (using transaction ensure the message really put in all queues or
>>>>>>>>> no
>>>>>>>>> one).
>>>>>>>>>
>>>>>>>>> Does this route make sense (only "pseudo" route not all the stuff
>>>>>>>>> to
>>>>>>>>> manage transaction i guess) ?
>>>>>>>>>
>>>>>>>>> from("cxf:bean:myEndpoint").
>>>>>>>>> .wireTap("direct:tap")
>>>>>>>>> .process(myProcessor)
>>>>>>>>> transacted("PROPAGATION_REQUIRES_NEW")
>>>>>>>>> .multicast()
>>>>>>>>> .parallelProcessing()
>>>>>>>>> .recipientList(header("MY_HEADER"))
>>>>>>>>> .end()
>>>>>>>>> .process(myAnswerProcessor);
>>>>>>>>>
>>>>>>>>> from(direct:tap).process(myOptionalProcessor);
>>>>>>>>>
>>>>>>>>> If it could work, when is the transaction commit ?
>>>>>>>>>
>>>>>>>>> Thanks for answers.
>>>>>>>>>
>>>>>>>>> Regards
>>>>>>>>> Hervé
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Claus Ibsen
>>>>>>> -----------------
>>>>>>> FuseSource
>>>>>>> Email: cib...@fusesource.com
>>>>>>> Web: http://fusesource.com
>>>>>>> Twitter: davsclaus, fusenews
>>>>>>> Blog: http://davsclaus.blogspot.com/
>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> -----------------
>>>>> FuseSource
>>>>> Email: cib...@fusesource.com
>>>>> Web: http://fusesource.com
>>>>> Twitter: davsclaus, fusenews
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>>
>>>
>>>
>>>
>>> --
>>> Claus Ibsen
>>> -----------------
>>> FuseSource
>>> Email: cib...@fusesource.com
>>> Web: http://fusesource.com
>>> Twitter: davsclaus, fusenews
>>> Blog: http://davsclaus.blogspot.com/
>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>
>
>
>
> --
> Claus Ibsen
> -----------------
> FuseSource
> Email: cib...@fusesource.com
> Web: http://fusesource.com
> Twitter: davsclaus, fusenews
> Blog: http://davsclaus.blogspot.com/
> Author of Camel in Action: http://www.manning.com/ibsen/
>

Reply via email to