Jms AMQP&;Openwire-Activemq代理和2个不同的使用者

Jms AMQP&;Openwire-Activemq代理和2个不同的使用者,jms,rabbitmq,activemq,amqp,Jms,Rabbitmq,Activemq,Amqp,我有一个同时支持amqp和openwire的activeMQ代理。 openwire的生产者(tcp,端口61616)是否有可能向具有使用amqp协议的消费者的队列进行生产 或者我仅限于相同的协议使用者和生产者?是的,可以使用ActiveMQ与OpenWire JMS客户端和AMQP客户端进行互操作。保存消息的目的地不是单独的空间,因此一种类型的客户端在队列上放置的消息可由来自其他协议的客户端使用 唯一需要解决的问题是如何将实际消息传递给每个客户机。ActiveMQ提供了一个可配置的Transf

我有一个同时支持amqp和openwire的activeMQ代理。 openwire的生产者(tcp,端口61616)是否有可能向具有使用amqp协议的消费者的队列进行生产


或者我仅限于相同的协议使用者和生产者?

是的,可以使用ActiveMQ与OpenWire JMS客户端和AMQP客户端进行互操作。保存消息的目的地不是单独的空间,因此一种类型的客户端在队列上放置的消息可由来自其他协议的客户端使用

唯一需要解决的问题是如何将实际消息传递给每个客户机。ActiveMQ提供了一个可配置的Transformer,该Transformer可以在从AMQP客户端发送时保留AMQP消息的原始字节,或者将该消息转换为OpenWire客户端将作为预期类型(TextMessage、ByteMessage、MapMessage…)接收的更具JMS风格的消息对象

有关配置和理解AMQP到OpenWire消息的映射的帮助,请参阅ActiveMQ的文档

如果您希望最容易处理消息被转换并始终以适当的JMS类型到达OpenWire客户端的场景,请在配置中选择JMS转换器,如下所示:

<transportConnector name="amqp" uri="amqp://localhost:5672?transport.transformer=jms"/>


我也面临类似的问题。在这里,当发送方是amqp,接收方是jms,但反向不起作用时,这一点就起作用了。i、 如果发送方是jms客户端,那么我就无法使用amqp客户端来听。我有理由问一个新问题并说明您正在做什么。面临类似问题。你能解决它吗?