2010-06-22 25 views
10

Có thể gửi tin nhắn phức tạp qua JMS không? Tôi có thể gửi TextMessages, Tin nhắn vv .. nhưng khi tôi cố gắng gửi loại đối tượng tùy chỉnh MyObject máng send() phương thức MessageProducer Tôi nhận được lỗi biên dịch. ngoại lệGửi đối tượng phức tạp qua JMS trong Java

Sau đó, tôi đã cố gắng để cast nó, tôi nhận đúc như MyObject cannot be cast to javax.jms.Message

Dưới đây là một mã tôi đã cố gắng:

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

ai có lời khuyên nào? cảm ơn bạn

Trả lời

18

Miễn là đối tượng của bạn là Serializable, bạn có thể sử dụng một số ObjectMessage

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

Có cách nào để gửi các đối tượng không được tuần tự hóa không? Tôi nhớ đọc ở đâu đó rằng điều này là có thể! – CKing

+1

Bạn có thể biến đổi đối tượng của mình thành một json – abyteneverlie

0

Bạn có một trong hai vấn đề:

  1. MyObject không thực hiện javax.jms.Message
  2. getMyObject không trả lại một MyObject (giả định rằng nó không thực hiện tin nhắn)
Các vấn đề liên quan