Java 如何从队列接收并将其发布到主题中?
我正在尝试从队列接收消息并将其发布到主题中。我有一个QueueSession实例,但不能用于创建主题。如果我理解正确,QueueSession仅用于从队列接收消息并将消息发送到另一个队列。如何将其混合在一起—从队列接收并在单个会话中将其发布到主题中?您必须为目标主题创建and,但在队列消息处理程序之外执行此操作—例如,在创建QueueSession和订阅队列的同时执行此操作。在队列消息处理程序中,您将在TopicPublisher实例上调用Java 如何从队列接收并将其发布到主题中?,java,session,jms,message-queue,Java,Session,Jms,Message Queue,我正在尝试从队列接收消息并将其发布到主题中。我有一个QueueSession实例,但不能用于创建主题。如果我理解正确,QueueSession仅用于从队列接收消息并将消息发送到另一个队列。如何将其混合在一起—从队列接收并在单个会话中将其发布到主题中?您必须为目标主题创建and,但在队列消息处理程序之外执行此操作—例如,在创建QueueSession和订阅队列的同时执行此操作。在队列消息处理程序中,您将在TopicPublisher实例上调用publish(message)。忘记所有特定于域的类,
publish(message)
。忘记所有特定于域的类,使用JMS 1.1中提供的统一域。替换以下类别:
- QueueConnectionFactory-->连接工厂
- 队列会话-->会话
- 队列-->目标
myInputDest
和myOutDest
,则可以将它们任意组合分配给托管对象定义(有时称为.bindings文件)中的队列或主题。您可以从队列中读取并写入主题,从主题中读取并写入队列,从队列到队列或从主题到主题,所有这些都在运行时得到解决,并且只需更改托管对象即可在程序调用之间进行更改
IdeveloperWorks文章中有一些示例代码演示了这一点,您是说我并行维护两个会话(TopicSession和QueueSession)?是的。QueueSession用于接收队列上的消息,TopicSession用于再次发布主题上的消息