2015-11-06 21 views
5

yapılandırmabahar 4

@Configuration 
@ComponentScan(basePackages="com.lokesh.tracker.integrations.jobs") 
public class QuartzConfig { 

    public JobDetailFactoryBean dailySummary(){ 
     JobDetailFactoryBean bean=new JobDetailFactoryBean(); 
     bean.setJobClass(DailySummary.class); 
     bean.setName("dailySummary"); 
     bean.setGroup("dailySummaries"); 
     return bean; 
    } 


    public CronTriggerFactoryBean dailySummarytrigger(){ 
     CronTriggerFactoryBean bean=new CronTriggerFactoryBean(); 
     bean.setJobDetail(dailySummary().getObject()); 
     bean.setStartDelay(5000); 
     bean.setBeanName("dailySummarytrigger"); 
     bean.setGroup("dailySummaries"); 
     bean.setCronExpression("0 0/1 * 1/1 * ? *"); 
     return bean; 
    } 

    @Bean 
    public SchedulerFactoryBean schedulerFactoryBean() { 
     SchedulerFactoryBean scheduler = new SchedulerFactoryBean(); 
     scheduler.setTriggers(dailySummarytrigger().getObject()); 
     return scheduler; 
    } 
} 

Meslek

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'schedulerFactoryBean' defined in com.lokesh.tracker.config.QuartzConfig: Invocation of init method failed; nested exception is org.quartz.SchedulerException: Registration of jobs and triggers failed: null [See nested exception: java.lang.NullPointerException] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:736) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4992) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: org.quartz.SchedulerException: Registration of jobs and triggers failed: null [See nested exception: java.lang.NullPointerException] 
    at org.springframework.scheduling.quartz.SchedulerAccessor.registerJobsAndTriggers(SchedulerAccessor.java:254) 
    at org.springframework.scheduling.quartz.SchedulerFactoryBean.afterPropertiesSet(SchedulerFactoryBean.java:512) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1633) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1570) 
    ... 21 more 
Caused by: java.lang.NullPointerException 
    at org.springframework.scheduling.quartz.SchedulerAccessor.addTriggerToScheduler(SchedulerAccessor.java:291) 
    at org.springframework.scheduling.quartz.SchedulerAccessor.registerJobsAndTriggers(SchedulerAccessor.java:235) 
    ... 24 more 

bazıları benim hatalarını tespit edebilir

@DisallowConcurrentExecution 
public class DailySummary extends QuartzJobBean{ 

    @Override 
    protected void executeInternal(JobExecutionContext arg0) 
      throws JobExecutionException { 
     System.out.println("hello"); 
    } 

} 

hatası. Ben ilk kez Quartz kullanıyorum. Bu yüzden hatada ne yazdığını anlayamadım. Bu örnekte günlük özet sınıflarını quartz ile yapmak istiyorum.

cevap

3

ile planlanmış bir zamanında çalıştırmak ister yöntemini açıklamak için, , @Bean ek açıklamalarıyla birlikte. Bunlar tam bahar fasulyesi ve bu fasulyelerin tam olarak gerçekleşmesinden önce gerçekleşen bir post işlem var. Bunları @Bean

ile not etmeyerek baypas etmiyorsunuz