我正在使用Spring调度程序。
@Scheduled(fixedDelay = ((10 * 60 * 1000) / 2))
public void runDynamic()
{
//doing my stuff
}
现在假设我有一个这样的常量
public static final Integer VARIANCE_TIME_IN_MIN = 10;
我想把这个常量用作我的表达式的一部分:
@Scheduled(fixedDelay = ((MyConstants.VARIANCE_TIME_IN_MIN * 60 * 1000) / 2))
public void runDynamic()
{
//doing my stuff
}
但它给出了编译时错误。有任何想法吗?在此先感谢..!
答案 0 :(得分:5)
Java注释采用编译时常量,定义为最终基元或字符串。
将您的定义更改为
public static final int VARIANCE_TIME = 10;
public static final long FIXED_DELAY = ((VARIANCE_TIME * 60 * 1000) / 2)
@Scheduled(fixedDelay = FIXED_DELAY)
public void runDynamic()
答案 1 :(得分:0)
使用属性文件中的cron表达式使用任务计划
@Scheduled(cron = "${cronTrigger.expression}")
public void runDynamic()
{
//doing my stuff
}
在XML文件中配置:
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="exampleJob" />
<!-- run every morning at 6 AM -->
<property name="expression" value="0 0 6 * * ?" />
</bean>
您还可以按照here
的说明动态(以编程方式)创建Tash Scheduler答案 2 :(得分:0)
undefined