@Autowired
private RabbitTemplate rabbitTemplate;
public void sendMessage(String message) {
rabbitTemplate.convertAndSend("exchange", "routingKey", message);
}
@Autowired
private MessageListenerContainer container;
container.setMessageListener((MessageListener) message -> {
String receivedMessage = new String(message.getBody());
});
container.start();
container.setAcknowledgeMode(AcknowledgeMode.MANUAL);
container.setMessageListener((ChannelAwareMessageListener) (message, channel) -> {
try {
String receivedMessage = new String(message.getBody());
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
} catch (Exception e) {
channel.basicNack(message.getMessageProperties().getDeliveryTag(), false, true);
}
});
@Autowired
private RetryTemplate retryTemplate;
container.setMessageListener((MessageListener) message -> {
String receivedMessage = new String(message.getBody());
try {
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}, retryTemplate);