/** * A callback for publisher confirmations. * */ @FunctionalInterface publicinterfaceConfirmCallback {
/** * Confirmation callback. * @param correlationData correlation data for the callback. * @param ack true for ack, false for nack * @param cause An optional cause, for nack, when available, otherwise null. */ voidconfirm(@Nullable CorrelationData correlationData, boolean ack, @Nullable String cause);
}
生产者端发送消息之后,回调confirm()方法
ack参数值为true:表示消息成功发送到了交换机
ack参数值为false:表示消息没有发送到交换机
②ReturnCallback接口
同样也RabbitTemplate内部的一个接口,源代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/** * A callback for returned messages. * * @since 2.3 */ @FunctionalInterface publicinterfaceReturnsCallback {
/** * Returned message callback. * @param returned the returned message and metadata. */ voidreturnedMessage(ReturnedMessage returned);
/** * A callback for publisher confirmations. * */ @FunctionalInterface publicinterfaceConfirmCallback {
/** * Confirmation callback. * @param correlationData correlation data for the callback. * @param ack true for ack, false for nack * @param cause An optional cause, for nack, when available, otherwise null. */ voidconfirm(@Nullable CorrelationData correlationData, boolean ack, @Nullable String cause);
}
生产者端发送消息之后,回调confirm()方法
ack参数值为true:表示消息成功发送到了交换机
ack参数值为false:表示消息没有发送到交换机
②ReturnCallback接口
同样也RabbitTemplate内部的一个接口,源代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/** * A callback for returned messages. * * @since 2.3 */ @FunctionalInterface publicinterfaceReturnsCallback {
/** * Returned message callback. * @param returned the returned message and metadata. */ voidreturnedMessage(ReturnedMessage returned);