QuartzJobRegistrarBeanFactoryPostProcessor.java 文件源码

java
阅读 24 收藏 0 点赞 0 评论 0

项目:taboola-cronyx 作者:
protected JobDetail buildJobForBeanFactory(ConfigurableListableBeanFactory beanFactory, String jobBeanName) {
    try {
        BeanDefinition beanDefinition = beanFactory.getBeanDefinition(jobBeanName);
        Class beanClass = Class.forName(beanDefinition.getBeanClassName());

        JobDefinition jobDefinition = jobIntrospecter.getJobDefinitionForInstance(beanClass);

        JobDataMap jdm = new JobDataMap();

        jdm.put(Constants.JOB_CRONYX_MARKER, true);
        jdm.put(Constants.JOB_BEAN_NAME, jobBeanName);
        jdm.put(Constants.JOB_DEFINITION, jobDefinition);

        return JobBuilder.newJob()
                .withIdentity(jobDefinition.getKey().getName(), jobDefinition.getKey().getGroup())
                .withDescription(jobDefinition.getDescription())
                .ofType(jobClassSelector.select(jobDefinition))
                .usingJobData(jdm)
                .storeDurably()
                .requestRecovery(jobDefinition.isRecoverable())
                .build();

    }catch (Exception e) {
        logger.error("problem creating job detail, logging and going on. ", e);
        return null;
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号