1

メッセージを送信し、Spring AMQPを使用してMessageListenerを使用してそれらのメッセージを消費するRabbitMQサーバーで実行されているサンプルSpring amqpプロデューサーを作成しました。ここでは、キューとメッセージの耐久性を false に設定します。アノテーションを使用して「durable」フラグを false に設定する方法を教えてください。

ここにサンプルコードがあります

@Configuration
public class ProducerConfiguration {

    protected final String queueName = "hello.queue";

    @Bean
    public RabbitTemplate rabbitTemplate() {
        RabbitTemplate template = new RabbitTemplate(connectionFactory());
        template.setRoutingKey(this.queueName);
        template.setQueue(this.queueName);
        return template;
    }

    @Bean
    public ConnectionFactory connectionFactory() {
        CachingConnectionFactory connectionFactory = new CachingConnectionFactory("localhost");
        connectionFactory.setUsername("guest");
        connectionFactory.setPassword("guest");
        return connectionFactory;
    }
}


public class Producer {

    public static void main(String[] args) throws Exception {
        new Producer().send();
    }

    public void send() {

        ApplicationContext context = new AnnotationConfigApplicationContext(
                ProducerConfiguration.class);
        RabbitTemplate rabbitTemplate = context.getBean(RabbitTemplate.class);
        for (int i = 1; i <= 10; i++) {
            rabbitTemplate.convertAndSend(i);
        }
    }

}

前もって感謝します。

4

1 に答える 1

2
@Configuration
public class Config {

    @Bean
    public ConnectionFactory connectionFactory() {
        return new CachingConnectionFactory();
    }

    @Bean
    public Queue foo() {
        return new Queue("foo", false);
    }

    @Bean
    public RabbitAdmin rabbitAdmin() {
        return new RabbitAdmin(connectionFactory());
    }
}

ウサギの管理者は、最初に接続が開かれたときにキューを宣言します。キューを耐久性のあるものからそうでないものに変更することはできないことに注意してください。最初に削除します。

于 2013-08-28T14:11:57.120 に答える