我有一个带有@Component批注的计划任务类。我已经成功地从.properties文件中提取了延迟时间的数据,但是我想稍后在该方法中使用相同的值。
@Scheduled(fixedDelayString = "${mypropvalue}")
public void doScheduledTask () throws IOException
{
// do some stuff
log.info("The doScheduledTask finished at {} ", dateFormat.format(new Date()));
log.info("The next task will run in {} ms", @Value("${mypropvalue}"));
}
最后一行的@Value出现编译错误,提示“此处不允许批注”。如何从方法内部再次获得该值?由于我使用的是@Scheduled,因此无法传递该@Value作为参数。
添加为字段
@Value("${mypropvalue}
private long fixedDelay
然后
this.fixedDelay
在您的方法范围内。