我在c:\ Temp文件夹中创建文件init.txt。
login=rtyhjmdsf
password=cxzxdrfks
fixrate=6000
如何在Spring中从文件读取参数“ fixrate”到Schedule注释?
如何在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()));
}
}