2015-11-06 25 views
5

cấu hìnhmùa xuân 4 với thạch anh lên lịch

@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; 
    } 
} 

Job

@DisallowConcurrentExecution 
public class DailySummary extends QuartzJobBean{ 

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

} 

lỗi

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 

một số có thể xác định lỗi của tôi. tôi đang sử dụng Quartz lần đầu tiên. vì vậy tôi không thể hiểu những gì nó nói trong error.In ví dụ này tôi muốn thực hiện lớp summmary hàng ngày với thạch anh.

Trả lời

3

Bạn nên chú thích dailySummarytrigger của bạn, dailySummary với chú thích @Bean. Đây là những hạt đậu mùa xuân đầy đủ và có một quá trình xử lý hậu kỳ xảy ra trước khi những hạt cà phê này được thực hiện đầy đủ. Bạn đang bỏ qua những điều này bằng cách không chú thích chúng bằng cách @Bean

Các vấn đề liên quan