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 に答える