确认和确认 - Amazon MQ
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

确认和确认

当客户端应用程序向代理发送消息传递和消耗的确认时,它被称为使用者确认。类似地,向出版商发送确认的过程称为出版商确认。在与 RabbitMQ 经纪商合作时,确认和确认对于确保数据安全至关重要。

消费者传递确认通常在客户端应用程序上配置。使用 AMQP 0-9-1 时,可以通过配置basic.consume或者当消息使用basic.code方法。

通常情况下,在渠道中启用传递确认。例如,使用 RabbitMQ Java 客户端库时,可以使用Channel#basicAck来设置一个简单的basic.ack正确确认,如以下示例所示。

// this example assumes an existing channel instance boolean autoAck = false; channel.basicConsume(queueName, autoAck, "a-consumer-tag", new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { long deliveryTag = envelope.getDeliveryTag(); // positively acknowledge a single delivery, the message will // be discarded channel.basicAck(deliveryTag, false); } });
注意

未确认的邮件必须缓存在内存中。您可以使用者预取的消息数限制预取客户端应用程序的设置。