如何使用TextMessage将XML文件发送到JMS队列?

时间:2012-11-07 06:07:42

标签: java xml jms

Oracle Docs说 -

  

TextMessage对象用于发送包含java.lang.String的消息。它从Message接口继承>并添加文本消息正文。   此消息类型可用于传输基于文本的消息,包括具有XML>内容的消息。

这怎么可能? XML的内容是否只能发送(通过将其转换为Object然后发送)? XML文件是否可以以任何方式真正放在队列中,然后在接收方读取?

1 个答案:

答案 0 :(得分:3)

请使用此项,您发送的对象必须是可序列化的

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
        }

1 xml parsing link here

2 xml parsing link here