java - spring ThreadPoolTaskScheduler 不使用 Instant 运行计划
问题描述
ThreadPoolTaskScheduler s = new ThreadPoolTaskScheduler();
s.initialize();
s.setPoolSize(1);
// Date date = DateUtils.parseDate("20190618 00:10:40", "yyyyMMdd HH:mm:ss");
s.schedule(() -> {
System.out.println("a");
}, LocalDateTime.of(2019, 6, 18, 0, 10, 40).toInstant(ZoneOffset.UTC));
什么时候是时间,a
不是用Instant
参数打印,而是用Date
参数显示。
解决方案
根据ConcurrentTaskScheduler.schedule()方法,目前它不支持Instant Class,因此您必须尝试仅将 Date 或 Trigger 类型作为 schedule 方法的第二个参数。因此,您可以将 Instant 转换为 Date 类型并尝试这样:
ThreadPoolTaskScheduler s = new ThreadPoolTaskScheduler();
s.initialize();
s.setPoolSize(1);
s.schedule(() -> System.out.println("a"), Date.from(LocalDateTime.of(2019, 6, 18, 0, 10, 40).toInstant(ZoneOffset.UTC)));
推荐阅读
- python - 如何将 pygame.image.save 输出到变量而不是文件?
- python - REST API 忽略 Firebase 存储规则
- ios - 如何使用 Alamofire 关闭证书验证?
- python - PyQt5 - setStyleSheet 透明/alpha 不起作用?
- c# - 在 EF Core 中使用不同的名称指定关系
- python - Python多处理中的变量不会改变
- node.js - 错误:下载失败:服务器在 puppeteer 安装中返回代码 403
- javascript - 如何选择css变量并将样式值分配给另一个元素
- magento2 - 将配置数据从本地环境迁移到生产 magento 2 的最佳方法是什么
- assembly - Windows 10 无法识别在 WINE 中工作的手工制作的 PE 可执行文件