MessageProducer 和目的地的目的是什么?
What's the purpose of the MessageProducer and destination?
在JMS中好像只能为一个Destination
创建一个MessageProducer
,但是为什么可以在send()
方法上传递一个Destination
?是否可以使用一个 MessageProducer
发送给多个 Destination
?
例如:
MessageProducer messageProducer = session.createProducer(Queue, Queue2);
messageProducer.send(Queue, objectMessage);
messageProducer.send(Queue2, objectMessage2);
是的,可以使用一个 MessageProducer
发送给多个 Destination
。您想要的是 "anonymous" 制作人。
当您创建 MessageProducer
实例时,只需将 null
传递给 Destination
,例如:
private MessageProducer messageProducer = session.createProducer(null);
这在 JavaDoc for javax.jms.Session
中有详细说明。
然后在发送消息时指定Destination
,例如:
messageProducer.send(Queue, objectMessage);
messageProducer.send(Queue2, objectMessage2);
在 JavaDoc for javax.jms.MessageProducer
中查看更多信息。
在JMS中好像只能为一个Destination
创建一个MessageProducer
,但是为什么可以在send()
方法上传递一个Destination
?是否可以使用一个 MessageProducer
发送给多个 Destination
?
例如:
MessageProducer messageProducer = session.createProducer(Queue, Queue2);
messageProducer.send(Queue, objectMessage);
messageProducer.send(Queue2, objectMessage2);
是的,可以使用一个 MessageProducer
发送给多个 Destination
。您想要的是 "anonymous" 制作人。
当您创建 MessageProducer
实例时,只需将 null
传递给 Destination
,例如:
private MessageProducer messageProducer = session.createProducer(null);
这在 JavaDoc for javax.jms.Session
中有详细说明。
然后在发送消息时指定Destination
,例如:
messageProducer.send(Queue, objectMessage);
messageProducer.send(Queue2, objectMessage2);
在 JavaDoc for javax.jms.MessageProducer
中查看更多信息。