经过一些研究后,我发现同一版本的AMQP在经纪人和客户之间存在可互换性.
也就是说,实现使用AMQP 0.9.1的客户端库理论上应该能够连接到实现AMQP 0.9.1的代理.对于未在AMQP标准中定义的客户端/代理中实现的特定功能,这显然存在一些限制.
有关支持的功能的更多详细信息,请参见以下网址:https://www.rabbitmq.com/interoperability.html
我使用Apache Qpid作为RabbitMQ服务器的嵌入式替代品.
最简单的方法是从Qpid二进制可执行文件(在Java代理手册中记录)创建初始配置文件,然后在代码中使用它来启动代理:
BrokerOptions configuration = new BrokerOptions("path-to-initial-configuration.json);
Broker broker = new Broker();
broker.startup(configuration);
Run Code Online (Sandbox Code Playgroud)