2010-06-22 56 views
10

是否可以通過JMS發送複雜消息?我可以發送TextMessages,消息等..但是當我嘗試發送我的自定義對象類型MyObjectsend()方法MessageProducer我得到編譯錯誤。像MyObject cannot be cast to javax.jms.Message通過Java中的JMS發送複雜對象

這裏

然後我試圖投它,我得到施展的例外是我嘗試了代碼:

MessageProducer messageProducer = session.createProducer(destination); 
messageProducer.send((Message)getMyObject()); //where getMyObject method retrieves mapped myObject type 

任何人有什麼建議嗎?謝謝

回答

18

只要您的對象是Serializable,您可以使用ObjectMessage

MessageProducer producer = session.createProducer(destination); 
ObjectMessage message = session.createObjectMessage(getMyObject()); 
producer.send(message); 
+0

有沒有辦法發送不可序列化的對象?我記得在某個地方閱讀這是可能的! – CKing 2012-09-07 13:19:47

+1

你可以在json中轉換你的對象 – abyteneverlie 2014-03-21 17:30:54

0

你有兩個問題之一:

  1. myObject的未實現javax.jms.Message
  2. getMyObject不返回MyObject來(假設它確實實現信息)