我正在使用Spring 3.0.2版本来运行Java / Flex应用程序。 任务是“每年下午12:00,我都需要将数据库中的列值重置为零”。但是调度程序未执行配置的方法。
但是,如果我将玉米表达方式更改为其他形式,例如:每运行50秒运行每个调度程序,则效果会很好。
下面是在属性文件中配置的cron表达式。
cron1.expression = 0 0 0 1 1 ?
在应用程序上下文中进行配置。
<task:annotation driven/>
<util:properties id="javaScheduler" location="WEB-INF/javaScheduler.properties"/>
<context:property-placeholder properties-ref="javaScheduler"/>
<task:scheduled-tasks>
<task:scheduled ref="schedulerDAO" method="updateSampleRegistrationSeqno"
cron="#{javaScheduler['cron1.expression']}"/>
</task:scheduled-tasks>
配置的方法:
public void updateSampleRegistrationSeqno() throws Exception
{
try
{
logging.info("<<<<<<<<<<<<<<<<<<<----Updating sample registration series code in Seqnotransgenerator of table name All ---->>>>>>>>>>>>>>>>>>");
//String sp = "exec dbo.sp_SequenceUpdateNewYear";
getJdbcTemplate().execute("update SequencenoTransGenerator set nsequenceno = 0 where stablename = 'All'");
}
catch(Exception e)
{
logging.info("Exception occured at updateSampleRegistrationSeqno :------->"+e.getLocalizedMessage());
}
}
答案 0 :(得分:0)
在您的应用程序上下文中添加这两行:
<context:property-placeholder location="classpath:/properties/app.properties"/>
或
<context:property-placeholder location="file:/properties/app.properties"/>
<task:annotation-driven></task:annotation-driven>
计划任务:
@Scheduled(cron = "${cronexp}")
public void executeTask() {
//execute sql script
}
在您的属性文件中添加此cron表达式:
cronexp=0 0 0 1 1 ?
对我有用。
注意:您应该在该位置提供属性路径