JMS Send Issue

Hi Friends,

I am facing a strange issue when posting a flatfile to a JMS Queue. I am able to post successfully to a Queue on MQ and the target system is able to see it, but sometimes I get an error message in the log saying.

[SCC.0121.0026E] delisted transaction commit failed: java.lang.IllegalStateException: commit failed. more than one local transaction enlisted. xid = esbisld01.trtc.com_5555/1465884367127
Stack trace data … 031485a0-b067-163d-bf5a-ac87979e6f72 031485a0-b067-163d-bf5a-ac87979e6f72 67e0a680-9b99-12b2-81d3-9f961b38812d

[SCC.0121.0034E] commit failed: more than 1 local trans enlisted. xid = [FormatId=45744, GlobalId=esbisld01.trtc.com_5555/1465884367127, BranchQual=1] rxid = {2}

In this case, it shows are successfully posted from webMethods end and I even get the JMSMessage as response but the target is not able to see it. Is it something related to this error.?

we’re using only 1 JMS connection which is specified as LOCAL_TRANSACTION. Can someone help.

Thanks in advance.

Btw, we’re using pub.jms:Send service to post the data to Queue.

You must explicitly handle the transactions boundaries by using the below services:

pub.art.transaction:startTransaction – outside main sequence
pub.art.transaction:commitTransaction – inside try sequence
pub.art.transaction:rollbackTransaction – inside catch sequence after getLastError

Thanks Mahesh! But the strange thing is that why only particular files were failing. we never had these steps earlier and they were getting posted and recently we added another recordtype to the flatfile and whenever we’re getting files with those recordtypes, it is failing with those errors.

is it a standard to always start and commit/rollback for jms.Send services?

Btw, after having those steps, it worked!