RabbitMQConfig:
@Configuration
public class RabbitConfigBack {
public static final String TEST_QUEUE1 = "TEST_MSG1.MSG";
public static final String DEAD_LETTER_QUEUE_ROUTING_KEY1 = "DEAD_ROUTE_KEY1";
public static final String DEAD_QUEUE1 = "DEAD_MSG1.MSG";
public static final String TEST_EXCHANGE = "TEST_EXCHANGE.EXCHANGE";
public static final String DEAD_FANOUT_EXCHANGE = "DEAD_FANOUT_EXCHANGE.EXCHANGE";
@Value("${spring.rabbitmq.listener.simple.retry.max-interval}")
private int maxInterval;
@Bean
public Queue test1Queue() {
Map<String, Object> args = new HashMap<>();
args.put("x-dead-letter-exchange", DEAD_FANOUT_EXCHANGE);
args.put("x-dead-letter-routing-key", DEAD_LETTER_QUEUE_ROUTING_KEY1);
args.put("x-message-ttl", maxInterval);
return QueueBuilder.durable(TEST_QUEUE1).