模拟消息队列

3
我的应用程序使用了大量的消息队列连接,这使得我很难在本地运行我的环境。目前,我只是连接到 DEV 或 TEST 环境,当这些环境出现问题时会有问题。
有什么办法可以为本地开发构建一个虚假的消息队列服务?我希望具有以下一些功能:
- 处理多个进程的并发读/写 - 可靠的消息消费(通过可见性超时) - 保证至多传递一次
这可能吗?
我考虑过的事情包括: - 构建一个模拟 JMS 服务并将其部署在某个地方(或在 VM 中运行它) - 实现一个模拟服务,根据传入的消息返回不同的响应
还有其他什么吗?
1个回答

2
您可以在单元测试中使用嵌入式ActiveMQ Broker来测试应用程序的各个部分的行为。创建嵌入式代理很简单,您可以根据正在测试的内容调整配置等。请参考这里了解更多信息。
@Before
public void startBroker() throws Exception {
    brokerService = new BrokerService();
    brokerService.setPersistent(false);
    brokerService.setUseJmx(false);
    brokerService.addConnector("tcp://localhost:0");
    brokerService.start();
    brokerService.waitUntilStarted();

    brokerURI = brokerService.getTransportConnectorByScheme("tcp").getPublishableConnectString();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接