我的应用程序使用大量的消息队列连接,这使我很难在本地运行我的环境。目前,我只是简单地连接到DEV或TEST环境,当这些环境出现问题时,这可能会有问题。
我可以通过哪些方法为本地开发构建虚假邮件队列服务?我想有一些以下功能:
这可能吗?
我考虑过的事情包括: - 构建模拟JMS服务并将其部署到某个地方(或在VM中运行) - 实现模拟服务,该服务根据传入消息返回不同的响应
还有别的吗?
答案 0 :(得分:2)
您可以在unit tests中使用嵌入式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();
}