Tom Its also worth mentioning that there's a 'durable' mode that you can use to enable durable subscriptions. You can configure this via the durable property on a messenger element...
<messenger name="foo" durable="true"> <factory transacted="true" > .. James ----- Original Message ----- From: "James Strachan" <[EMAIL PROTECTED]> To: "Jakarta Commons Developers List" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Monday, April 29, 2002 6:16 PM Subject: Re: Commons Messenger - How to set 'Transacted' to true? > Hi Tom > > ----- Original Message ----- > From: "Tom Marsh" <[EMAIL PROTECTED]> > > All: > > > > I'm trying to use messenger.rollback() when I have a problem, but JMS > > complains that I'm not transacted. I was trying to figure out how to > > set it in messenger.xml, but couldn't. (Using MqSeries JMS). I hard > > coded transaction to true in sessionfactory. I'm thinking I could set > > up for it in MessengerDigester, but I'm a little over my head...... > > You're right its all to do with getting the MessengerDigester to create the > correctly configured JMS Connection / Sessions for you. > > One way to do it is to use whatever tools come with your J2EE app server or > JMS implementation and create JNDI administered objects, then just look up > your connection factories via JNDI > > <messenger name="topic" jndiDestinations="true"> > <jndi lookupName="TopicConnectionFactory" topic="true"> > ... > > There are various things relating to transactions and rollbacks here. > > JMS can operate in a 'transacted' mode. To enable transacted mode you just > need to use a 'transacted' attribute in the factory element.... > > <messenger name="foo"> > <factory transacted="true" > > > Or you could write your own SessionFactory class to create > connections/sessions however you wish. For example it might well make sense > to write an XASessionFactory to create XAConnection and XASessions. Then you > could use it as follows... > > <messenger name="foo"> > <factory className="org.apache.commons.messenger.XASessionFactory"> > ... > > Then you could use your JMS provider in an XA (2 phase commit) manner. > > Probably working in 'transacted' mode might work for you; otherwise using > your own factory might be better or trying the administered objects / JNDI > route. > > James > _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>