현재 아래 구성을 사용하여 봄에 Quartz를 실행 중입니다. 스케줄러의 백엔드로 데이터베이스를 사용하는 이유는 클러스터 모드를 사용 가능하게하기 위해서입니다.스프링 셧다운시 DB에서 석영 트리거 제거하기
이 모든 것이 제대로 작동하지만 InitialAbstractPublicationJob을 제거하려면 문제가 있습니다. 스케줄러 자체를 제외하고 아래의 모든 설정을 삭제한다고 가정 해 봅시다. DB 테이블 QRTZ_TRIGGERS에 여전히 행이 있습니다.
TRIGGER_NAME: initialAbstractTrigger
TRIGGER_GROUP: DEFAULT
JOB_NAME: initialAbstractDataAccessDelegator
JOB_GROUP: DEFAULT
IS_VOLATILE: 0
DESCRIPTION: NULL
NEXT_FIRE_TIME: 1330953433511
PREV_FIRE_TIME: 1330953432511
TRIGGER_STATE: WAITING
TRIGGER_TYPE: SIMPLE
START_TIME: 1330953336511
END_TIME: 0
CALENDAR_NAME: NULL
MISFIRE_INSTR: 0
JOB_DATA: NULL
1 row in set (0.00 sec)
이 행을 시도하고 더 이상 봄에 존재하는 AbstractPublicationJobBean를로드 석영을 초래하고 예외가 풍부하다. 중복 질문 applicationContext.xml
<bean id="initialAbstractPublicationJob" class="bbc.forge.ibroadcast.snowball.InitialAbstractPublicationJob" />
<bean id="initialAbstractDataAccessDelegator" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="bbc.forge.ibroadcast.snowball.DelegatingJobBean"/>
<property name="durability" value="false" />
<property name="jobDataAsMap">
<map>
<entry key="job.bean.name" value="initialAbstractPublicationJob" >
</entry>
<entry key="sdtl.file.prefix" value="sdtl_" >
</entry>
</map>
</property>
</bean>
<bean id="initialAbstractTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
see the example of method invoking job above
<property name="jobDetail" ref="initialAbstractDataAccessDelegator" />
10 seconds
<property name="startDelay" value="0" />
repeat every n milliseconds
<property name="repeatInterval" value="1000" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="initialAbstractTrigger" />
</list>
</property>
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="applicationContextSchedulerContextKey">
<value>applicationContext</value>
</property>
<property name="quartzProperties">
<props>
<prop key="org.quartz.jobStore.isClustered">true</prop>
<prop key="org.quartz.scheduler.instanceId">AUTO</prop>
</props>
</property>
</bean>