完全内存中的解决方案。
spring.*根据需要替换属性。
<dependency> <groupId>org.apache.qpid</groupId> <artifactId>qpid-broker</artifactId> <version>6.1.1</version> <scope>test</scope></dependency>public class EmbeddedBroker { public void start() { Broker broker = new Broker(); BrokerOptions brokerOptions = new BrokerOptions(); brokerOptions.setConfigProperty("qpid.amqp_port", environment.getProperty("spring.rabbitmq.port")); brokerOptions.setConfigProperty("qpid.broker.defaultPreferenceStoreAttributes", "{"type": "Noop"}"); brokerOptions.setConfigProperty("qpid.vhost", environment.getProperty("spring.rabbitmq.virtual-host")); brokerOptions.setConfigurationStoreType("Memory"); brokerOptions.setStartupLoggedToSystemOut(false); broker.startup(brokerOptions); }}添加
initial-config.json为资源:
{ "name": "Embedded Test Broker", "modelVersion": "6.1", "authenticationproviders" : [{ "name": "password", "type": "Plain", "secureOnlyMechanisms": [], "users": [{"name": "guest", "password": "guest", "type": "managed"}] }], "ports": [{ "name": "AMQP", "port": "${qpid.amqp_port}", "authenticationProvider": "password", "protocols": [ "AMQP_0_9_1" ], "transports": [ "TCP" ], "virtualhostaliases": [{ "name": "${qpid.vhost}", "type": "nameAlias" }] }], "virtualhostnodes" : [{ "name": "${qpid.vhost}", "type": "Memory", "virtualHostInitialConfiguration": "{ "type": "Memory" }" }]}


