Oracle Docs說 -如何使用TextMessage將XML文件發送到JMS隊列?
TextMessage對象用於發送包含java.lang.String的消息。它從Message接口繼承並添加一個文本消息體。 此消息類型可用於傳輸基於文本的消息,包括具有XML>內容的消息。
這怎麼可能? XML的內容是否只能發送(通過將其轉換爲Object然後發送)? XML文件能否以任何方式真正放在隊列中,然後在接收端讀取?
Oracle Docs說 -如何使用TextMessage將XML文件發送到JMS隊列?
TextMessage對象用於發送包含java.lang.String的消息。它從Message接口繼承並添加一個文本消息體。 此消息類型可用於傳輸基於文本的消息,包括具有XML>內容的消息。
這怎麼可能? XML的內容是否只能發送(通過將其轉換爲Object然後發送)? XML文件能否以任何方式真正放在隊列中,然後在接收端讀取?
請使用和對象發送必須是可序列化
class Master implements serializable
{
List<File> f=new ArrayList<File>();
//getter and setter
}
添加--xml文件,要多少有多少
Master eMaster = new Master();
eMaster.setF();
//add Files here
QueueSender queueSender = queueSession.createSender(queue1);
ObjectMessage objMessage = queueSession.createObjectMessage();
objMessage.setObject(eMaster);
queueSender.send(objMessage);
接收器端: -
Master em =null;
Message message = queueReceiver.receive(1);
if (message instanceof ObjectMessage
&& ((ObjectMessage) message).getObject() instanceof Master) {
em = (Master) ((ObjectMessage) message).getObject();
//use this and get list of xml file and iterate and process xml file by
//below link
}
您可以將xml文件作爲File對象或解析對象(通過SAX等)發送或者以字符串的形式讀取所有xml數據併發送。 – sunleo
我知道第二部分(讀取所有xml數據作爲字符串併發送)。你能幫我解決第一個問題嗎?或者可以這樣做 - 編寫一個XML(或任何文件)並放入隊列中,然後接收器讀取XML(文件)並處理它? –