2012-12-06 14 views
0

我嘗試發送一條消息,這樣它的工作原理在Groovy如何讀取XML和放置在JMS消息

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

的JMS但不是把我的消息在textMessageSend.setText我想讀消息出來的XML文件,你如何能做到這一點

+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 { [email protected] == id }.text() 
    if(message) { 
    queueSession.createTextMessage().with { tm -> 
     tm.text = message 
     messageProducer.send(tm) 
    } 
    } 
} 

所以美其名曰:

sendMessage(messageProducer, '1') 

將發送消息"Hello"

+0

顯然,使用XmlSlurper加載你的xml文件一次,然後查詢這個對象比每次發送消息時解析xml都要快 –