AMQP - это стандарт уровня приложения для ориентированного на сообщения промежуточного программного обеспечения (MOM). JMS - это стандартный API для Java для связи с MOM.
Два разных приложения Java, использующих JMS, могут использовать разные MOM и, следовательно, по-прежнему не могут взаимодействовать. ActiveMQ - это система MOM с библиотекой JMS, которая позволяет программам Java обращаться к ней с помощью JMS, но она не обязательно может взаимодействовать с другой программой JMS Java, используя, скажем, WebLogic MOM.
Различные системы AMQP MOM могут взаимодействовать друг с другом (при условии, что они используют одну и ту же версию AMQP), поскольку AMQP является стандартом в том же направлении, что и, скажем, SMTP. Нет причин, по которым система AMQP MOM не могла также предоставить библиотеку JMS для своих клиентов Java. SwiftMQ, например, предоставляет JMS API и использует AMQP 1.0.
К сожалению, не все системы AMQP (а их много) еще используют версию 1.0 AMQP. RabbitMQ (на момент написания) еще не поддерживает AMQP 1.0. Некоторые из других систем AMQP - это Apache QPID и StormMQ, но есть и многие другие. Как только все они будут поддерживать AMQP 1.0, все они должны взаимодействовать друг с другом.
На своем сайте http://activemq.apache.org/amqp.html ActiveMQ сообщает: «Мы ожидаем, что ActiveMQ будет реализовать последнюю версию, как только она будет завершена. Но в настоящее время ActiveMQ не реализует AMQP ». Теперь, когда вышел AMQP 1.0, от ActiveMQ больше ничего не известно о том, когда они его поддержат.
person
JavaGP
schedule
08.11.2012