我想为一些连接到RabbitMQ的组件设置一个本地测试。为此,一种解决方案似乎是使用QPID In-Memory Broker,当按照这些说明(只使用当前版本7.0.3而不是7.0.0)操作时,实际上它可以很好地工作...
对于Rabbit MQ,我删除了"AMQP_1_0"协议,只添加了qpid-broker-plugins-amqp-0-8-protocol依赖项。同时,我用PLAIN替换了Authenticationprovider。这足以让我的RabbitMQ组件工作,并通过该Broker发送/接收消息。
但问题是这一行...
据我理解,这应该允许我在调用
很不幸,这并不起作用,Broker总是侦听默认端口(5672,如果我没记错的话)。显然,这对于自动化测试来说并不理想,因此我正在寻找以下可能性(或更好的可能性):
1. 在属性中放置一个随机端口(我可以自己找到一个空闲端口,没有问题)或... 2. 告诉QPID使用随机(开放)端口-但是我还需要知道实际使用的端口,因为SystemLauncher似乎没有提供任何查询的方法。
对于Rabbit MQ,我删除了"AMQP_1_0"协议,只添加了qpid-broker-plugins-amqp-0-8-protocol依赖项。同时,我用PLAIN替换了Authenticationprovider。这足以让我的RabbitMQ组件工作,并通过该Broker发送/接收消息。
但问题是这一行...
"port" : "${qpid.amqp_port}",
据我理解,这应该允许我在调用
systemLauncher.startup
时通过设置此属性来定义代理监听的端口。attributes.put("qpid.amqp_port", 12345);
很不幸,这并不起作用,Broker总是侦听默认端口(5672,如果我没记错的话)。显然,这对于自动化测试来说并不理想,因此我正在寻找以下可能性(或更好的可能性):
1. 在属性中放置一个随机端口(我可以自己找到一个空闲端口,没有问题)或... 2. 告诉QPID使用随机(开放)端口-但是我还需要知道实际使用的端口,因为SystemLauncher似乎没有提供任何查询的方法。