The Cassandra product should use the RabbitMQ implementation of MailQueueFactory (also the ldap-Cassandra product).
The implementation binding is actually done in james-server-guice-common (ActiveMQQueueModule class), we should extract this binding to its own project.
We should pass all integration test on top of RabbitMQ. we may use rabbitmqadmin in docker for that:
and a command like this one: (we will have to provide RABBIT_HOST & RABBIT_PORT)
$ docker run --rm activatedgeek/rabbitmqadmin:latest purge queue name=name_of_the_queue_to_be_purged
Docker concerns: how to avoid spawning a Rabbit per test? (how to blow up data? Use namespaces?) Auto discover to disable?