You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by GForce <ga...@lmco.com> on 2009/09/04 16:27:11 UTC

Tranactional Sessions from JMS Producer to CMS Consumer

Hopefully I can get some assistance here for this particular issue we are
running into.  First let me provide some background.  Our system is a pretty
standard SOA system.  We have both Java and C++ services attached to
ServiceMix.  We are using Camel to route the messages around the bus.  There
are certain portions of the overall routes we want to make transactional,
you know data integrity and all that.  Anyway, we have about 8 C++ services
attached to the bus using CMS.  Those all appear to be going through the
same connection and session.  This means that if we want to put
transactional messaging on one service we do it for all of them, as the
transactional setting is defined in the connection.  We don't want to make
all the C++ services to be transactional and we are unsure how to make that
happen.  

Now the question, how can we set it up so that one C++ service can be
transactional while the remaining 7 are non-transactional.  Also, if there
are parameters set inside the Camel endpoints pointing to the C++ services
will those parameters be sent to the C++ services?  Our Camel rules are
defined using Spring in Java by the way.  Any help is greatly appreciated. 
Thanks in advance.
-- 
View this message in context: http://www.nabble.com/Tranactional-Sessions-from-JMS-Producer-to-CMS-Consumer-tp25295367p25295367.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Tranactional Sessions from JMS Producer to CMS Consumer

Posted by Timothy Bish <ta...@gmail.com>.
On Fri, 2009-09-04 at 07:27 -0700, GForce wrote:
> Hopefully I can get some assistance here for this particular issue we are
> running into.  First let me provide some background.  Our system is a pretty
> standard SOA system.  We have both Java and C++ services attached to
> ServiceMix.  We are using Camel to route the messages around the bus.  There
> are certain portions of the overall routes we want to make transactional,
> you know data integrity and all that.  Anyway, we have about 8 C++ services
> attached to the bus using CMS.  Those all appear to be going through the
> same connection and session.  This means that if we want to put
> transactional messaging on one service we do it for all of them, as the
> transactional setting is defined in the connection.  We don't want to make
> all the C++ services to be transactional and we are unsure how to make that
> happen.  

CMS Clients like Java client have transacted Sessions, not transacted
connections, so the services need to use individual Sessions in order
for you to mix and match which is transacted and which is not.  

> 
> Now the question, how can we set it up so that one C++ service can be
> transactional while the remaining 7 are non-transactional.  Also, if there
> are parameters set inside the Camel endpoints pointing to the C++ services
> will those parameters be sent to the C++ services?  Our Camel rules are
> defined using Spring in Java by the way.  Any help is greatly appreciated. 
> Thanks in advance.

Regards
Tim.
-- 
Tim Bish
http://fusesource.com
http://timbish.blogspot.com/