我已经通过stackoverflow和许多其他网站问了很多问题,但仍然没有找到任何运气来解决我的问题。
我们在上午9:30-10之间安排了大约35个作业,但有时有3到5个作业未执行,在临时运行系统运行后,系统从第二天开始正常工作。几天或几周后,这种情况再次发生。
我们使用的是quartz版本2.2.3和spring批处理版本4.2.0.release。
我们没有重写调度程序线程计数,因为它在很长一段时间内都工作得很好,并且突然开始间歇性地为某些作业失败。
以下是石英特性,
<property name="quartzProperties">
<props>
<prop key="org.quartz.scheduler.skipUpdateCheck">true</prop>
<prop key="org.quartz.jobStore.class">org.quartz.impl.jdbcjobstore.JobStoreTX</prop>
<prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
<prop key="org.quartz.jobStore.useProperties">false</prop>
<prop key="org.quartz.jobStore.tablePrefix">#{'${db.defaultschema}' != '' ? '${db.defaultschema}'+'.QRTZ_' : 'QRTZ_'}</prop>
<prop key="org.quartz.jobStore.selectWithLockSQL">SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?</prop>
<prop key="org.quartz.jobStore.isClustered">true</prop>
<prop key="org.quartz.jobStore.dataSource">dataSource</prop>
<prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
</prop>
</props>
</property>
spring批处理作业配置:
<batch:job id="reportJob">
<batch:step id="step1">
<batch:tasklet>
<batch:chunk reader="reports-reader" processor="reports-processor"
writer="reports-writer" commit-interval="0">
</batch:chunk>
</batch:tasklet>
</batch:step>
<batch:listeners>
<batch:listener ref="batchJobListener" />
</batch:listeners>
</batch:job>
<bean id="reports-reader" scope="step"
class="com.ezops.reportloader.reader.ReportsItemReader">
<property name="reportsItemReaderService" ref="reportsItemReaderService"></property>
</bean>
<bean id="reports-processor" class="com.ezops.reportloader.processor.ReportsItemProcessor"></bean>
<bean id="reports-writer" class="com.ezops.reportloader.writer.ReportsItemWriter">
</bean>
重写quartzjobbean的executeinternal并创建jobparameters以调用spring批处理作业,如下所示,
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
launcher.run(job, jobParameters);
}
任何帮助或指针都将是巨大的帮助。
暂无答案!
目前还没有任何答案,快来回答吧!