HelloWorld
Producer
Consumer
说明
- TODO queue的设置需要非常注意
channel.queueDeclare(QUEUE_NAME, true, false, false, null);
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
channel.queueDeclare(QUEUE_NAME, true, true, false, null);
channel.queueDeclare(QUEUE_NAME, true, false, true, null);
- 发布的时候的routingKey
channel.basicPublish("", QUEUE_NAME, null, "yunjikeji".getBytes());
-
不管producer发布了多少条消息,consumer可以一次性获取完
-
若consumer一直没有获取,那么消息一直会保存在queue当中,只若queue不是autoDelete和exclusive的
-
若需要保证消息永远不丢失,即RabbitMQ重启或者宕掉之后,消息还可以继续存留,需要在发布的时候设置消息为长连接的,同时需要将queue设置为durable
channel.queueDeclare(QUEUE_NAME, true, false, false, null); channel.basicPublish("", QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN, "yunjikeji".getBytes());
-
以上消息虽然没有使用Exchange,实际上使用了默认为"“的Exchange