I am testing using the Java QPID broker. I was able to send and receive messages using the proton client but with anonymous authentication. I am interested in testing with authentication turned on and understand the proton client does not support (yet). I therefore downloaded the rabbitMQ client jars. I am using password file authentication (that came with QPID).
I set my RabbitMQ client connection factory like this:
connectionFactory = new ConnectionFactory();
connectionFactory.setHost("localhost");
connectionFactory.setUsername("guest");
connectionFactory.setPassword("guest");
The code fails on this line (specifically on getConnection).
connection = RabbitMQConnectionFactory.getInstance().getConnection();
This is the exception:
java.io.IOException: No compatible authentication mechanism found - server offered [CRAM-MD5] at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:309) at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:590) at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:612) at com.vue.rabbit.core.RabbitMQConnectionFactory.getConnection(RabbitMQConnectionFactory.java:37) at com.vue.rabbit.producer.SimpleProducer.main(SimpleProducer.java:25)
If I change QPID broker to use anonymous authentication and also change client not to set user/password, I get a similar exception of "server offered [ANONYMOUS]"
Am I doing something wrong? These should be compatible? Somewhat separate question is why is there a Java and C++ QPID broker if they both support the same on-wire AMQP protocol? Thanks in advance for any help!