2014-02-24 2 views
3

스케쥴러 (석영)로 스프링 배치 프로세서를 간단히 구현할 수있는 날을 찾고 있었지만 운이 없었습니다! 내가 작업하거나 감가 상각되지 않은 내 손에 규정 된 모든 샘플은 내 응용 프로그램 (데이터베이스에서 검색) 동적 시간 스프링 4 + 스프링 배치 + 석영 2.2.x 튜토리얼

+0

작업 개시 시간이 데이터베이스에서 변경되면 어떻게해야합니까? 석영 작업은 한 번 초기화되고 이에 따라 트리거됩니다. –

+0

네,하지만 제게는 작업 트리거 시간이 런타임 중에 변경 될 수 있습니다 ... – askory

+0

나는 "매분"이라고 표시하는 것이 필요하다고 생각합니다. 매분마다 작업을 실행합니다. 첫 번째 줄은 데이터베이스에서 실제 cron 표현식을 가져오고, 두 번째는 현재 시간에 대한 cron 표현식을 검사합니다. if 문에서 실제 코드를 실행하십시오. –

답변

0

시도가 스프링 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> 

,