【发布时间】:2020-03-15 06:34:20
【问题描述】:
我正在使用 Rabbit MQ 来复制 Jenkins 所做的事情。
我面临的唯一问题是,可以说,当 10 条消息在队列中时。并且有一些重复的消息处于unacknowledged 状态。
我需要从队列中删除这些消息,我该如何实现?
我的rabbitmq配置如下,每个队列只有一个消费者。因此,如果我有 10 条消息,所有消息都将通过同一个消费者的线程进行处理。
Queue queue = new Queue(sfdcConnectionDetails.getGitRepoId() + "_" + sfdcConnectionDetails.getBranchConnectedTo(), true);
rabbitMqSenderConfig.amqpAdmin().declareQueue(queue);
rabbitMqSenderConfig.amqpAdmin().declareBinding(BindingBuilder.bind(queue).to(new DirectExchange(byRepositoryRepositoryId.getRepository().getRepositoryId())).withQueueName());
RabbitMqConsumer container = new RabbitMqConsumer();
container.setConnectionFactory(rabbitMqSenderConfig.connectionFactory());
container.setQueueNames(queue.getName());
container.setConcurrentConsumers(1);
container.setMessageListener(new MessageListenerAdapter(new ConsumerHandler(****, ***), new Jackson2JsonMessageConverter()));
container.startConsumers();
【问题讨论】:
标签: java spring-boot rabbitmq