spring rabbitmq 延迟队列

spring集成rabbitMQ,使用amqpTemplate操作rabbitmq,但是在现在有业务场景需要有队列中的消息能延迟消费,不知道这一块如何配置和操作,有人给点思路吧

我在做的一个项目再用rabbitMq,下面是代码,当时没有用配置,好像是用配置文件时有问题,你可以参考下

/**

  • RabbitMQ配置.
    */
    @Configuration
    public class RabbitConfiguration implements RabbitListenerConfigurer {

    private static final Logger log = LoggerFactory.getLogger(RabbitConfiguration.class);

    @Bean
    Queue queueFacebookQuery() {
    return new Queue(QueueName. _QUERY, true);
    }

    @Bean
    Queue queueFacebookResult() {
    return new Queue(QueueName. _RESULT, true);
    }

    @Bean
    DirectExchange exchange() {
    return new DirectExchange(QueueName.EXCHANGE);
    }

    @Bean
    Binding bindingQueue Query(Queue queue Query, DirectExchange exchange) {
    return BindingBuilder.bind(queue Query).to(exchange).with(QueueName. _QUERY);
    }

    @Bean
    Binding bindingQueue Result(Queue queue Result, DirectExchange exchange) {
    return BindingBuilder.bind(queue Result).to(exchange).with(QueueName. _RESULT);
    }

    @Bean
    public MappingJackson2MessageConverter jackson2Converter() {
    return new MappingJackson2MessageConverter();
    }

    @Bean
    public DefaultMessageHandlerMethodFactory myHandlerMethodFactory() {
    DefaultMessageHandlerMethodFactory factory = new DefaultMessageHandlerMethodFactory();
    factory.setMessageConverter(jackson2Converter());
    return factory;
    }

    @Override
    public void configureRabbitListeners(RabbitListenerEndpointRegistrar registrar) {
    registrar.setMessageHandlerMethodFactory(myHandlerMethodFactory());
    }

    @Bean
    public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory(
    SimpleRabbitListenerContainerFactoryConfigurer configurer,
    ConnectionFactory connectionFactory,
    CustomErrorHandler customErrorHandler
    ) {
    SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();

    factory.setErrorHandler(customErrorHandler);
    log.info("TLQ00960: factory -----> " + factory);
    configurer.configure(factory, connectionFactory);
    return factory;
    

    }

    @Bean
    public StatefulRetryOperationsInterceptor interceptor() {
    return RetryInterceptorBuilder.stateful()
    .maxAttempts(5)
    .backOffOptions(60000, 2.0, 200000) // initialInterval, multiplier, maxInterval
    .build();
    }
    }