You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Stanisław Kuś <st...@gmail.com> on 2016/02/11 12:17:41 UTC
ActiveMQ Consuming
Hi folks,
I have a short question :
Is it possible to consume from 2 different brokers within a single Route
with transactions.
something like form("activemq1:queue1", "activemq2:queue" )....
Do I need to specify a separate transaction manager pro
ActiveMQConnectionFactory instance or is there a way to have one
(Transaction M.) for both ?
Thanks for answers in advance !
Best,
Stan
Re: ActiveMQ Consuming
Posted by Stanisław Kuś <st...@gmail.com>.
Hi,
I solved it as follows:
1. Each Broker -> One JMSTransactionMager with ConnectionPool.
2. Each Broker -> separated Route
3. Whole construction with SpringTransactionPolicy set in transacted()
4. Routes created & started at runtime
Best,
Stan
On Sat, Feb 13, 2016 at 5:32 PM, Quinn Stevenson <
quinn@pronoia-solutions.com> wrote:
> It sounds like you’re not using any other endpoints that support
> transactions, so all you should need is the “transacted=true” URI - I don’t
> think you’ll need an external transaction manager.
>
> > On Feb 12, 2016, at 1:09 PM, Stanisław Kuś <st...@gmail.com> wrote:
> >
> > Hi,
> >
> > 1. Each message from each Jms should be processed in a separated
> > transaction and will be passed to a webservice. Additionaly basen on a
> > certain message part a file will be transfered from one ftp to another.
> >
> > 2. For each message independend from which broker it comes a new
> > transaction should be created.
> >
> > Best,
> >
> > Stan
> > 12 lut 2016 5:17 PM "Quinn Stevenson" <qu...@pronoia-solutions.com>
> > napisał(a):
> >
> >> Two questions -
> >>
> >> - What are the other transaction endpoints you’ll be using?
> >> - Will messages from both broker1 and broker2 be involved in the same
> >> transaction?
> >>
> >>
> >>> On Feb 12, 2016, at 1:19 AM, Stanisław Kuś <st...@gmail.com> wrote:
> >>>
> >>> Hi,
> >>>
> >>> thanks for answering. I have two separate servers running ActiveMQ ( my
> >>> datasources ) and a single Camel App that should consume from those 2
> >>> instances in a transactional way.
> >>>
> >>> What I can do is from( broker1:queue:source,
> >>> broker2:queue:source).process(.... . The problem is what transaction
> >>> manager should I use ? Trying with JTATransactionManager for all of
> them
> >>> or use separated JMSTransactionManager for each server ?
> >>>
> >>> Thanks for anwers,
> >>>
> >>> Best,
> >>>
> >>> Stan
> >>>
> >>> On Thu, Feb 11, 2016 at 5:54 PM, Quinn Stevenson <
> >>> quinn@pronoia-solutions.com> wrote:
> >>>
> >>>> You can always have two “from” clauses and route the exchange to a
> >> direct
> >>>> route for the common processing.
> >>>>
> >>>> from( “activemq1://queue1”).to( “direct://process );
> >>>> from( “activemq2://queue2”).to( “direct://process );
> >>>>
> >>>> from( “direct://process” )…….
> >>>>
> >>>> Can you give a little more detail on what you’re trying to accomplish
> >> with
> >>>> the transaction?
> >>>>
> >>>>> On Feb 11, 2016, at 4:17 AM, Stanisław Kuś <st...@gmail.com>
> wrote:
> >>>>>
> >>>>> Hi folks,
> >>>>>
> >>>>> I have a short question :
> >>>>>
> >>>>> Is it possible to consume from 2 different brokers within a single
> >> Route
> >>>>> with transactions.
> >>>>>
> >>>>> something like form("activemq1:queue1", "activemq2:queue" )....
> >>>>>
> >>>>> Do I need to specify a separate transaction manager pro
> >>>>> ActiveMQConnectionFactory instance or is there a way to have one
> >>>>> (Transaction M.) for both ?
> >>>>>
> >>>>> Thanks for answers in advance !
> >>>>>
> >>>>> Best,
> >>>>>
> >>>>> Stan
> >>>>
> >>>>
> >>
> >>
>
>
Re: ActiveMQ Consuming
Posted by Quinn Stevenson <qu...@pronoia-solutions.com>.
It sounds like you’re not using any other endpoints that support transactions, so all you should need is the “transacted=true” URI - I don’t think you’ll need an external transaction manager.
> On Feb 12, 2016, at 1:09 PM, Stanisław Kuś <st...@gmail.com> wrote:
>
> Hi,
>
> 1. Each message from each Jms should be processed in a separated
> transaction and will be passed to a webservice. Additionaly basen on a
> certain message part a file will be transfered from one ftp to another.
>
> 2. For each message independend from which broker it comes a new
> transaction should be created.
>
> Best,
>
> Stan
> 12 lut 2016 5:17 PM "Quinn Stevenson" <qu...@pronoia-solutions.com>
> napisał(a):
>
>> Two questions -
>>
>> - What are the other transaction endpoints you’ll be using?
>> - Will messages from both broker1 and broker2 be involved in the same
>> transaction?
>>
>>
>>> On Feb 12, 2016, at 1:19 AM, Stanisław Kuś <st...@gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> thanks for answering. I have two separate servers running ActiveMQ ( my
>>> datasources ) and a single Camel App that should consume from those 2
>>> instances in a transactional way.
>>>
>>> What I can do is from( broker1:queue:source,
>>> broker2:queue:source).process(.... . The problem is what transaction
>>> manager should I use ? Trying with JTATransactionManager for all of them
>>> or use separated JMSTransactionManager for each server ?
>>>
>>> Thanks for anwers,
>>>
>>> Best,
>>>
>>> Stan
>>>
>>> On Thu, Feb 11, 2016 at 5:54 PM, Quinn Stevenson <
>>> quinn@pronoia-solutions.com> wrote:
>>>
>>>> You can always have two “from” clauses and route the exchange to a
>> direct
>>>> route for the common processing.
>>>>
>>>> from( “activemq1://queue1”).to( “direct://process );
>>>> from( “activemq2://queue2”).to( “direct://process );
>>>>
>>>> from( “direct://process” )…….
>>>>
>>>> Can you give a little more detail on what you’re trying to accomplish
>> with
>>>> the transaction?
>>>>
>>>>> On Feb 11, 2016, at 4:17 AM, Stanisław Kuś <st...@gmail.com> wrote:
>>>>>
>>>>> Hi folks,
>>>>>
>>>>> I have a short question :
>>>>>
>>>>> Is it possible to consume from 2 different brokers within a single
>> Route
>>>>> with transactions.
>>>>>
>>>>> something like form("activemq1:queue1", "activemq2:queue" )....
>>>>>
>>>>> Do I need to specify a separate transaction manager pro
>>>>> ActiveMQConnectionFactory instance or is there a way to have one
>>>>> (Transaction M.) for both ?
>>>>>
>>>>> Thanks for answers in advance !
>>>>>
>>>>> Best,
>>>>>
>>>>> Stan
>>>>
>>>>
>>
>>
Re: ActiveMQ Consuming
Posted by Stanisław Kuś <st...@gmail.com>.
Hi,
1. Each message from each Jms should be processed in a separated
transaction and will be passed to a webservice. Additionaly basen on a
certain message part a file will be transfered from one ftp to another.
2. For each message independend from which broker it comes a new
transaction should be created.
Best,
Stan
12 lut 2016 5:17 PM "Quinn Stevenson" <qu...@pronoia-solutions.com>
napisał(a):
> Two questions -
>
> - What are the other transaction endpoints you’ll be using?
> - Will messages from both broker1 and broker2 be involved in the same
> transaction?
>
>
> > On Feb 12, 2016, at 1:19 AM, Stanisław Kuś <st...@gmail.com> wrote:
> >
> > Hi,
> >
> > thanks for answering. I have two separate servers running ActiveMQ ( my
> > datasources ) and a single Camel App that should consume from those 2
> > instances in a transactional way.
> >
> > What I can do is from( broker1:queue:source,
> > broker2:queue:source).process(.... . The problem is what transaction
> > manager should I use ? Trying with JTATransactionManager for all of them
> > or use separated JMSTransactionManager for each server ?
> >
> > Thanks for anwers,
> >
> > Best,
> >
> > Stan
> >
> > On Thu, Feb 11, 2016 at 5:54 PM, Quinn Stevenson <
> > quinn@pronoia-solutions.com> wrote:
> >
> >> You can always have two “from” clauses and route the exchange to a
> direct
> >> route for the common processing.
> >>
> >> from( “activemq1://queue1”).to( “direct://process );
> >> from( “activemq2://queue2”).to( “direct://process );
> >>
> >> from( “direct://process” )…….
> >>
> >> Can you give a little more detail on what you’re trying to accomplish
> with
> >> the transaction?
> >>
> >>> On Feb 11, 2016, at 4:17 AM, Stanisław Kuś <st...@gmail.com> wrote:
> >>>
> >>> Hi folks,
> >>>
> >>> I have a short question :
> >>>
> >>> Is it possible to consume from 2 different brokers within a single
> Route
> >>> with transactions.
> >>>
> >>> something like form("activemq1:queue1", "activemq2:queue" )....
> >>>
> >>> Do I need to specify a separate transaction manager pro
> >>> ActiveMQConnectionFactory instance or is there a way to have one
> >>> (Transaction M.) for both ?
> >>>
> >>> Thanks for answers in advance !
> >>>
> >>> Best,
> >>>
> >>> Stan
> >>
> >>
>
>
Re: ActiveMQ Consuming
Posted by Quinn Stevenson <qu...@pronoia-solutions.com>.
Two questions -
- What are the other transaction endpoints you’ll be using?
- Will messages from both broker1 and broker2 be involved in the same transaction?
> On Feb 12, 2016, at 1:19 AM, Stanisław Kuś <st...@gmail.com> wrote:
>
> Hi,
>
> thanks for answering. I have two separate servers running ActiveMQ ( my
> datasources ) and a single Camel App that should consume from those 2
> instances in a transactional way.
>
> What I can do is from( broker1:queue:source,
> broker2:queue:source).process(.... . The problem is what transaction
> manager should I use ? Trying with JTATransactionManager for all of them
> or use separated JMSTransactionManager for each server ?
>
> Thanks for anwers,
>
> Best,
>
> Stan
>
> On Thu, Feb 11, 2016 at 5:54 PM, Quinn Stevenson <
> quinn@pronoia-solutions.com> wrote:
>
>> You can always have two “from” clauses and route the exchange to a direct
>> route for the common processing.
>>
>> from( “activemq1://queue1”).to( “direct://process );
>> from( “activemq2://queue2”).to( “direct://process );
>>
>> from( “direct://process” )…….
>>
>> Can you give a little more detail on what you’re trying to accomplish with
>> the transaction?
>>
>>> On Feb 11, 2016, at 4:17 AM, Stanisław Kuś <st...@gmail.com> wrote:
>>>
>>> Hi folks,
>>>
>>> I have a short question :
>>>
>>> Is it possible to consume from 2 different brokers within a single Route
>>> with transactions.
>>>
>>> something like form("activemq1:queue1", "activemq2:queue" )....
>>>
>>> Do I need to specify a separate transaction manager pro
>>> ActiveMQConnectionFactory instance or is there a way to have one
>>> (Transaction M.) for both ?
>>>
>>> Thanks for answers in advance !
>>>
>>> Best,
>>>
>>> Stan
>>
>>
Re: ActiveMQ Consuming
Posted by Stanisław Kuś <st...@gmail.com>.
Hi,
thanks for answering. I have two separate servers running ActiveMQ ( my
datasources ) and a single Camel App that should consume from those 2
instances in a transactional way.
What I can do is from( broker1:queue:source,
broker2:queue:source).process(.... . The problem is what transaction
manager should I use ? Trying with JTATransactionManager for all of them
or use separated JMSTransactionManager for each server ?
Thanks for anwers,
Best,
Stan
On Thu, Feb 11, 2016 at 5:54 PM, Quinn Stevenson <
quinn@pronoia-solutions.com> wrote:
> You can always have two “from” clauses and route the exchange to a direct
> route for the common processing.
>
> from( “activemq1://queue1”).to( “direct://process );
> from( “activemq2://queue2”).to( “direct://process );
>
> from( “direct://process” )…….
>
> Can you give a little more detail on what you’re trying to accomplish with
> the transaction?
>
> > On Feb 11, 2016, at 4:17 AM, Stanisław Kuś <st...@gmail.com> wrote:
> >
> > Hi folks,
> >
> > I have a short question :
> >
> > Is it possible to consume from 2 different brokers within a single Route
> > with transactions.
> >
> > something like form("activemq1:queue1", "activemq2:queue" )....
> >
> > Do I need to specify a separate transaction manager pro
> > ActiveMQConnectionFactory instance or is there a way to have one
> > (Transaction M.) for both ?
> >
> > Thanks for answers in advance !
> >
> > Best,
> >
> > Stan
>
>
Re: ActiveMQ Consuming
Posted by Quinn Stevenson <qu...@pronoia-solutions.com>.
You can always have two “from” clauses and route the exchange to a direct route for the common processing.
from( “activemq1://queue1”).to( “direct://process );
from( “activemq2://queue2”).to( “direct://process );
from( “direct://process” )…….
Can you give a little more detail on what you’re trying to accomplish with the transaction?
> On Feb 11, 2016, at 4:17 AM, Stanisław Kuś <st...@gmail.com> wrote:
>
> Hi folks,
>
> I have a short question :
>
> Is it possible to consume from 2 different brokers within a single Route
> with transactions.
>
> something like form("activemq1:queue1", "activemq2:queue" )....
>
> Do I need to specify a separate transaction manager pro
> ActiveMQConnectionFactory instance or is there a way to have one
> (Transaction M.) for both ?
>
> Thanks for answers in advance !
>
> Best,
>
> Stan