Существует ли функция удаления из очереди для vert.x AMQP для очистки сообщения?

#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.