【发布时间】:2021-03-24 15:44:56
【问题描述】:
我的 Spring Boot 应用程序中有一个计划任务,我想更快地运行它。
我的任务包括获取一些数据(订阅),并为每个订阅调用 API 客户端并向我的 kafka 代理发送消息。
这是我的代码
@Scheduled(cron="0 0 12 1/1 * ? *",zone = "Europe/Paris")
public void execute() {
List<StoreSubscription> storeSubscriptions = subscriptionRepository.findAllByExpirationDate(LocalDate.now().plusMonths(1));
storeSubscriptions.forEach(subscription -> {
CompletableFuture.supplyAsync( () -> this.message(subscription))
.thenApply(message -> kt.send(SUBSCRIPTION_EXPIRED_REMINDER_EARLY,message));
});
}
消息是异步创建的吗?是否在不等待上一条消息结束的情况下创建消息?
谢谢。
【问题讨论】:
-
你可以在这里添加一个日志语句来调试你的假设
标签: java spring-boot asynchronous apache-kafka completable-future