您好,我已经创建了一个cron作业,它通过使用
org.springframework.scheduling.quartz.SimpleTriggerBean但是,当我使用CronTrigger调度作业时,作业根本没有触发,也没有抛出任何错误,下面是我的spring配置和作业类。
<bean id="cronJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="runBillingJob" />
<property name="cronExpression" value="0 0 0 * * ?"/>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="runTestJob" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="cronJobTrigger" />
</list>
</property>
</bean>以下是我的测试方法:
@SuppressWarnings("unchecked")
protected void executeInternal(JobExecutionContext context)
throws JobExecutionException {
List<JobExecutionContext> jobs = null;
try {
jobs = context.getScheduler().getCurrentlyExecutingJobs();
for (JobExecutionContext job : jobs) {
if (job.getTrigger().equals(context.getTrigger())
&& !job.getJobInstance().equals(this)) {
logger.trace("There's another instance running, so leaving: "
+ this);
return;
}
}
logger.info("Create a BillingService instance...");
} catch (SchedulerException e) {
logger.error("", e);
return;
}
try {
triggerToController();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}发布于 2013-10-18 06:59:45
试试这个:
<bean id="cronJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="runBillingJob" />
<property name="cronExpression" value="0 0 0 * * ?"/>
</bean>
<bean id="runBillingJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="your.package.YourClass" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronJobTrigger" />
</list>
</property>
</bean>https://stackoverflow.com/questions/19166122
复制相似问题