关于quartz定期,起服务时不新增配置文件中的定期问题
关于quartz定期,起服务时不新增配置文件中的定期问题
问题原因:生产环境中起服务,未加载配置文件信息,且quartz连接超时
查找原因发现 由于别人新建了一个定期文件 并将 quartz工厂类的id于之前文件的id命名成相同导致加载的时候 由于单例的原因不能加载另一个配置文件
正确的配置: 可将多个定期配置到同一个文件中 用同一个quartz工厂类 或者将quartz工厂类的id名称成不同的名称
<bean id="xxxjob"
class="org.springframework.scheduling.quartz.JobDetailBean">
<!--调用的类 -->
<property name="jobClass" value="com.cvicse.hrzcyp.flow.InfoSubmitProjectMessageTimingFlow">
</property>
<property name="jobDataAsMap">
<map>
<entry key="timeout" value="0"/>
</map>
</property>
</bean>
<!-- 定时任务-押品信息报送 -->
<bean id="xxx" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="xxxjob" />
</property>
<!-- cron表达式 -->
<property name="cronExpression" >
<!-- 每天的23:00:00执行 -->
<value>0 0 23 * * ? *</value>
</property>
</bean>
<!-- quartz工厂类 -->
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="configLocation" value="classpath:quartz.properties" />
<property name="dataSource" ref="dataSource"></property>
<property name="quartzProperties">
<map>
<entry key="org.quartz.jobStore.isClustered" value="true" />
<entry key="org.quartz.scheduler.instanceName" value="MyClusteredScheduler" />
<entry key="org.quartz.scheduler.instanceId" value="AUTO" />
<entry key="org.quartz.plugin.jobHistory.class" value="org.quartz.plugins.history.LoggingJobHistoryPlugin" />
</map>
</property>
<property name="triggers">
<list>
<ref bean= "xxx" />
</list>
</property>
</bean>
记录每天发现的问题,同行如有宝贵意见请不吝赐教。