3
스케쥴러 (석영)로 스프링 배치 프로세서를 간단히 구현할 수있는 날을 찾고 있었지만 운이 없었습니다! 내가 작업하거나 감가 상각되지 않은 내 손에 규정 된 모든 샘플은 내 응용 프로그램 (데이터베이스에서 검색) 동적 시간 스프링 4 + 스프링 배치 + 석영 2.2.x 튜토리얼
스케쥴러 (석영)로 스프링 배치 프로세서를 간단히 구현할 수있는 날을 찾고 있었지만 운이 없었습니다! 내가 작업하거나 감가 상각되지 않은 내 손에 규정 된 모든 샘플은 내 응용 프로그램 (데이터베이스에서 검색) 동적 시간 스프링 4 + 스프링 배치 + 석영 2.2.x 튜토리얼
시도가 스프링 quartz.xml 파일에 코드 아래에 추가 발사 작업을 설정 제공해야
<!--testAlerts cron trigger -->
<bean id="testAlertsTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="name" value="testAlertsTrigger" />
<property name="jobDetail" ref="testAlertsJobDetail" />
<property name="cronExpression" value="0 0 4 * * ?" />
</bean>
<!-- scheduler -->
<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="hbnTransactionManager" />
<property name="triggers">
<list>
<ref bean="testAlertsTrigger" />
</list>
</property>
<property name="schedulerContextAsMap">
<map>
<entry key="commandDispatcher" value-ref="commandDispatcher" />
</map>
</property>
<property name="autoStartup" value="${QUARTZ.org.quartz.autoStartup}" />
<property name="overwriteExistingJobs" value="${QUARTZ.org.quartz.overwriteExistingJobs}" />
<property name="quartzProperties">
<props>
<prop key="org.quartz.scheduler.instanceId">${QUARTZ.org.quartz.scheduler.instanceId}</prop>
<prop key="org.quartz.scheduler.instanceName">${QUARTZ.org.quartz.scheduler.instanceName}</prop>
<prop key="org.quartz.threadPool.threadCount">${QUARTZ.org.quartz.threadPool.threadCount}</prop>
<prop key="org.quartz.jobStore.class">${QUARTZ.org.quartz.jobStore.class}</prop>
<prop key="org.quartz.jobStore.isClustered">${QUARTZ.org.quartz.jobStore.isClustered}</prop>
<prop key="org.quartz.jobStore.clusterCheckinInterval">${QUARTZ.org.quartz.jobStore.clusterCheckinInterval}</prop>
</props>
</property>
</bean>
,
작업 개시 시간이 데이터베이스에서 변경되면 어떻게해야합니까? 석영 작업은 한 번 초기화되고 이에 따라 트리거됩니다. –
네,하지만 제게는 작업 트리거 시간이 런타임 중에 변경 될 수 있습니다 ... – askory
나는 "매분"이라고 표시하는 것이 필요하다고 생각합니다. 매분마다 작업을 실행합니다. 첫 번째 줄은 데이터베이스에서 실제 cron 표현식을 가져오고, 두 번째는 현재 시간에 대한 cron 표현식을 검사합니다. if 문에서 실제 코드를 실행하십시오. –