在内存队列服务器中

alx*_*brd 13 java in-memory rabbitmq

有没有人知道RabbitMQ队列是否有H2数据库等价物(或具有扩展功能以使其与RabbitMQ兼容)?

我想运行集成测试而无需启动并连接到外部RabbitMQ服务器.如果我可以在执行某组测试之前启动服务器,连接到它然后在执行下一组测试之前关闭所有内容,那将会更好.

alx*_*brd 9

经过一些研究后,我发现同一版本的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)

  • 就在现场!我怀疑我会在使用“发布商确认”/“发布商退货”功能时遇到问题,这不是标准的一部分。一旦我知道如何处理这个问题,我就会在这里发布我的结果。 (2认同)