0

我尝试像这样向 JMS 发送消息

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

但不是将我的消息放在 textMessageSend.setText 中,我想从 XML 文件中读取消息,你怎么能这样做

4

1 回答 1

0

假设您的 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"

于 2012-12-06T12:05:18.087 回答