如何 运行 一个方法在 spring 引导中达到所需的次数?
How to run a method a the required number of times in spring boot?
我正在学习 RabbitMq,只是想发送消息所需的次数。
我有 Sender class 发送消息到交换,我想重复它几次。
我正在使用预定的注释,但它有不同的用途,并且与我不匹配,因为它不会停止。
@Scheduled(initialDelay = 1000,fixedDelay = 1500)
public void sendNumbers(){
int index = atomicInteger.getAndIncrement();
UUID uuid = uuids.get(index);
Pair<Integer,Integer> pair = sumPair.get(uuid);
MessagePostProcessor messagePostProcessor = message -> {
MessageProperties messageProperties = message.getMessageProperties();
messageProperties.setCorrelationId(uuid.toString());
messageProperties.setReplyTo(response.getName());
return message;
};
rabbitTemplate.convertAndSend(directExchange.getName(),routingKey,pair,messagePostProcessor);
}
我该怎么做?
只需使用 for
循环来重复您想要的次数。
您可以在 ApplicationRunner
内完成。
@Bean
ApplicationRunner runner(RabbitTemplate template) {
return () -> {
for (int i = 0; i < 10; i++) {
...
template.convertAndSend(...)
}
};
我正在学习 RabbitMq,只是想发送消息所需的次数。 我有 Sender class 发送消息到交换,我想重复它几次。 我正在使用预定的注释,但它有不同的用途,并且与我不匹配,因为它不会停止。
@Scheduled(initialDelay = 1000,fixedDelay = 1500)
public void sendNumbers(){
int index = atomicInteger.getAndIncrement();
UUID uuid = uuids.get(index);
Pair<Integer,Integer> pair = sumPair.get(uuid);
MessagePostProcessor messagePostProcessor = message -> {
MessageProperties messageProperties = message.getMessageProperties();
messageProperties.setCorrelationId(uuid.toString());
messageProperties.setReplyTo(response.getName());
return message;
};
rabbitTemplate.convertAndSend(directExchange.getName(),routingKey,pair,messagePostProcessor);
}
我该怎么做?
只需使用 for
循环来重复您想要的次数。
您可以在 ApplicationRunner
内完成。
@Bean
ApplicationRunner runner(RabbitTemplate template) {
return () -> {
for (int i = 0; i < 10; i++) {
...
template.convertAndSend(...)
}
};