如何从文件中读取参数到 Spring 中的 Schedule 注释?

How to read params from file to Schedule annotation in Spring?

我在 c:\Temp 文件夹中创建文件 init.txt。

login=rtyhjmdsf
password=cxzxdrfks
fixrate=6000

如何从我的文件中读取参数 'fixrate' 以在 Spring 中安排注释? 如何在 SpEL 中将字符串转换为 Long?

这个缩写不起作用(

@Component
@PropertySource("file:c:\temp\init.txt")
class CronSchedule {

@Scheduled(fixedRate = "#{Long(scheduler[fixrate])}" as Long)
fun publicImage() {
        println("I'm starting.")
}
}

不需要转成long,可以使用fixedRateString。

@Scheduled(fixedRateString = "${fixrate}")

以下代码适用于 Java

@Component
@PropertySource("file:/tmp/init.txt")
class CronSchedule {

    private static final Logger log = LoggerFactory.getLogger(CronSchedule.class);

    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

    @Scheduled(fixedRateString = "${fixrate}")
    public void reportCurrentTime() {
        log.info("The time is now {}", dateFormat.format(new Date()));
    }
}