In RabbitMQ, data safety is being handled by the below two mechanism:
I. Consumer Acknowledgements
II. Publisher confirms
Consumer Acknowledgements:
Assuming there is no auto acknowledgement 'Fire and forget' happening, its the consumer which will stamp the message and RMQ can decide further based on the negative acknowledgements;
Publisher Confirms:
basic.ack : positive acknowledgements
basic.nack : negative acknowledgements, with multiple message option
basic.reject : negative acknowledgements,
Publisher confirms:
rabbitTemplate.setConfirmCallback(rabbitEventConfirmCallback);
public class RabbiteventConfirmCallback implements RabbitTemplate.ConfirmCallback {
@Override
public void confirm(CorrelationData correlationData, boolean ack, String cause) {
if(ack){
}
else{
//do something. Requeue/ ignore...
}
No comments:
Post a Comment