2015-02-10 4 views
0

Я использую планировщик кварца для планирования весеннего пакетного задания. Приложение запускается без каких-либо исключений, но оно никогда не срабатывает.Quartz cron Работа не начат

Просто позвольте мне объяснить мой сценарий:

Если я выполнить задание (с планировщиком) через основной метод с использованием MapJobRepositoryFactoryBean он прекрасно работает, но после интеграции планировщик с пружинным MVC веб-приложение, оно показывает некоторые ошибка обновления версии, после чего я использовал «JobRepositoryFactoryBean», который использует базу данных для хранения состояний задания.

Таким образом, я добавил JobRepositoryFactoryBean bean и другие DB изменений, но это никогда не запускает работу.

ниже отрывок из журнала

2015-02-10 19:14:45 INFO context.support.XmlWebApplicationContext - Bean 'jobRegistry' of type [class org.springframework.batch.core.configuration.support.MapJobRegistry] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 
2015-02-10 19:14:45 INFO jdbc.datasource.DriverManagerDataSource - Loaded JDBC driver: com.mysql.jdbc.Driver 
2015-02-10 19:14:45 INFO launch.support.SimpleJobLauncher - No TaskExecutor has been set, defaulting to synchronous executor. 
2015-02-10 19:14:46 INFO context.support.DefaultLifecycleProcessor - Starting beans in phase 2147483647 
2015-02-10 19:14:46 INFO scheduling.quartz.SchedulerFactoryBean - Starting Quartz Scheduler now 
2015-02-10 19:14:46 INFO web.servlet.DispatcherServlet - FrameworkServlet 'mvc-dispatcher': initialization completed in 2155 ms 

Вот моя конфигурация работа

<bean id="jobLauncher" 
     class="org.springframework.batch.core.launch.support.SimpleJobLauncher"> 
     <property name="jobRepository" ref="jobRepository" /> 
    </bean> 

    <bean 
     class="org.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor"> 
     <property name="jobRegistry" ref="jobRegistry" /> 
    </bean> 

    <bean id="jobRepository" 
     class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean" 
     p:dataSource-ref="dataSource" p:transactionManager-ref="transactionManager"> 
     <property name="databaseType" value="reconConfig!{batch.databaseType}" /> 
     <property name="isolationLevelForCreate" value="ISOLATION_DEFAULT" /> 
    </bean> 

    <bean id="mapJobRepository" 
     class="org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean" 
     lazy-init="true" autowire-candidate="false" /> 

    <bean id="jobOperator" 
     class="org.springframework.batch.core.launch.support.SimpleJobOperator" 
     p:jobLauncher-ref="jobLauncher" p:jobExplorer-ref="jobExplorer" 
     p:jobRepository-ref="jobRepository" p:jobRegistry-ref="jobRegistry" /> 

    <bean id="jobExplorer" 
     class="org.springframework.batch.core.explore.support.JobExplorerFactoryBean" 
     p:dataSource-ref="dataSource" /> 

    <bean id="jobRegistry" 
     class="org.springframework.batch.core.configuration.support.MapJobRegistry" /> 

    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 
     <property name="dataSource" ref="appDataSource" /> 
    </bean> 


    <bean class="org.springframework.batch.core.scope.StepScope" /> 



    <bean id="reconConfigPlaceholderProperties" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="ignoreUnresolvablePlaceholders" value="true" /> 
     <property name="location" value="classpath:batchDb.properties" /> 
     <property name="placeholderPrefix" value="reconConfig!{" /> 
     <property name="placeholderSuffix" value="}" /> 
    </bean> 
</beans> 

Он успешно работает, но после того, как еще некоторое развитие он перестал работать. Я не могу понять, что именно я изменил в конфигурации, которая вызвала это.

Может ли кто-нибудь предложить контрольные точки при использовании «JobRepositoryFactoryBean», если мне не хватает или проблема в другом месте.

+0

Может пожалуйста, укажите конфигурацию пружины, используемую для планирования с помощью Cron? –

ответ

0

Если это вся ваша конфигурация для планирования заданий, я полагаю, вам не хватает часть Cron планирования полностью ...

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
<property name="triggers"> 
    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
    <property name="jobDetail" ref="jobDetail" /> 
    <property name="cronExpression" value="*/10 * * * * ?" /> 
</bean> 
</property> 
</bean> 

Пожалуйста, ознакомьтесь с пружинным документом и разделом кварцевого планирования here.

+0

см. Мой пересмотренный вопрос. У меня есть все части в разных xmls (включая cron), а также отлично работает с MapJobRepositoryFactoryBean. Возможно, проблема связана с хранилищем заданий и другими материалами. – Maverick

+0

Можете ли вы предоставить отображение планировщика из разных xmls? И я считаю, что вы не получаете каких-либо исключений, и все ваши таблицы метаданных заданий правильно создаются в таблице. –

Смежные вопросы