spring integration - How to get JMSMessageId after sending it with an outbound-channel-adapter? -


i sending jms message outbound channel adapter this:

<intjms:outbound-channel-adapter       destination-name="my.queue"       connection-factory="myconnectionfactory"       channel="mysender"/> 

after need know jms message id. how can it?

there is way in custom jmstemplate provide in adapter, maybe there simpler solution problem.

i can not use gateway because there no response.

you can send jms message payload of spring integration message adapter. , use getjmsmessageid() after successful sending.

update

but means can not use convencience of jmstemplate , have deal javax.jms.connection , javax.jms.session on own able create javax.jms.message, correct?

well, no 1 forbid use jmstemplate directly reference general <service-activator>. <outbound-channel-adapter> one-way goal. not intended return anything. corner case requires do. , javax.jms.session hooks , tricks create jms message able retrieve id afterwards. there threadlocal hole on custom jmsheadermapper , message access fromheaders() implementation, think case better use jmstemplate directly.


Comments