groovy原型增加收到jms消息后发送确认消息的示例
源代码见:
主要修改的是两部分代码:
- 通过hello.gsp增加发送xml文本消息的代码,具体写法可参见groovy生成xml;
- 主要部分,修改TestScript.groovy文件。
TestScript代码主要修改的代码片段:
public void onMessage(Message message) {
if(message.destination.equals(destination)){
println """
收到消息:${message.text}
"""
sendMessageToQueue(‘receive.confirm’,'–’,'ok.’)
session.commit()
}else if (message.destination.equals(shutdownDestination)){
print (‘shutdown …’)
session.commit()
connection.close()
println (‘ok.’)
}
}def sendMessageToQueue(queueName,tag,text){
def destination=session.createQueue(queueName)
def producer=session.createProducer(destination)
producer.setDeliveryMode(javax.jms.DeliveryMode.PERSISTENT)def out=new StringWriter()
def xmlResults=new MarkupBuilder(out)
xmlResults.messages{
message text
}
def message=session.createTextMessage(out.toString())
message.setStringProperty(‘tag’,tag)
producer.send(message)
}
这里收到消息和发送确认消息是在一个事务当中。
这篇文章上的评论的 RSS feed TrackBack URI