繁体   English   中英

在groovy中,如何读取xml并将其放置在JMS消息中

[英]In groovy how to read xml and place that in JMS message

我试图像这样发送消息到JMS

MessageProducer messageProducer =queueSession.createProducer( queueSend );
TextMessage textMessageSend = queueSession.createTextMessage();
textMessageSend.setText("ddjhdfsdfjskdhfshkfas")
messageProducer.send( textMessageSend );

但是我不想将我的消息放在textMessageSend.setText中,而是想从XML文件中读取消息,您该怎么做?

假设您的XML看起来像:

<messages>
  <message id="1">Hello</message>
  <message id="2">Goodbye</message>
  <message id="3">Whatever</message>
</messages>

然后,您可以编写如下函数:

def sendMessage( MessageProducer messageProducer, String id ) {
  String message = new XmlSlurper().parse( new File( 'MESSAGES.xml' ) )
                                   .message.find { it.@id == id }.text()
  if( message ) {
    queueSession.createTextMessage().with { tm ->
      tm.text = message
      messageProducer.send( tm )
    }
  }
}

因此调用:

sendMessage( messageProducer, '1' )

将发送消息"Hello"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM