#java #amqp #vert.x #enqueue
#java #amqp #vert.x #очередь
Вопрос:
Из AmqpReceiver я могу распечатать сообщение о постановке в очередь, но как мне удалить или удалить сообщение из очереди?
amqpClient.createReceiver("my-queue",
done -> {
if (done.failed()) {
done.cause().printStackTrace();
System.out.println("Unable to create receiver");
} else {
final AmqpReceiver receiver = done.result();
receiver.address();
receiver
.exceptionHandler(t -> {
t.printStackTrace();
})
.handler(msg -> {
System.out.println("Message: " msg.bodyAsJsonObject().toString());
});
receiver.connection().close(ar -> {
});
}
}
);
Комментарии:
1. Что вы пробовали (код) до сих пор? Это побуждает ответить…
2. я добавил код, на самом деле я ссылаюсь на эту ссылку vertx.io/docs/vertx-amqp-client/java , но просто застрял на том, что сообщение не выводится из очереди.
Ответ №1:
По умолчанию получатель будет принимать и обрабатывать сообщение, поэтому вам (как указано в документах) не нужно ничего делать, если вы не изменили конфигурацию таким образом, чтобы она не принимала и не принимала за вас. Если вы хотите изменить расположение или хотите контролировать урегулирование, вы можете сделать это, вызвав методы в полученной вами доставке.
Здесь есть несколько более подробных объяснений в примере кода vertx-proton.