Eine vollständige In-Memory-Lösung. Ersetzen Sie die Eigenschaften spring.*
wie erforderlich.
<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);
}
}
hinzufügen initial-config.json
als Ressource:
{
"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\" }"
}]
}
RabbitMQ implementiert AMQP 0,8; 0.9.1 und AMQP 1.0. Wenn Sie einen Mac benutzen, ist es relativ einfach, rabbitmq für Ihre Tests zu starten/stoppen. Dies ist für PHP aber könnte Ihnen in Ihrem Anwendungsfall helfen http://videlalvaro.github.io/2013/04/using-rabbitmq-in-unit-tests.html –
Hallo @old_sound, danke für die Untersuchung. Idealerweise möchte ich vermeiden, dass rabbitmq auf der Box zum Testen benötigt, unsere Tests laufen auf einem CI-Server, den wir RabbitMQ nicht einfach installieren können. – ahjmorton
Ist auf diesem CI-Server mindestens Erlang installiert?Wenn ja, können Sie einfach den Hasen - Tarball herunterladen, dekomprimieren und für die Tests starten/stoppen. –