こんにちは、みんな
jJavaRabbitMQ
で inを使用する場合、2 つの質問があります。ubuntu
まず、キューからメッセージを取得する方法は? 次のような 2 つの「正しい」方法があります。
ConnectionFactory factory = new ConnectionFactory(params);
Connection conn = factory.newConnection("localhost", 5672);
Channel channel = conn.createChannel();
String message=channel.basicGet("queuename", noAck).getBody();
そしてもう一つは
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.queueDeclare("queuename", true, false, false, null);
QueueingConsumer consumer = new QueueingConsumer(channel);
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String message = new String(delivery.getBody());
どちらが正しいですか?両方ある場合、それらの違いは何ですか?
次に、キュー内のメッセージ数を知るにはどうすればよいですか? つまり、キューが空かどうかを確認したいのです。
使用できる API はありますか? channel.basicGet
?
ack
キューにいくつかのメッセージがある場合、何がchannel.basicGet
返されますか?実際には、channel.basicGet の 2 番目のパラメーターが何を意味するのかわかりません....
どうもありがとうございました