获取异常org.quartz.SchedulerException:作业和触发器的注册失败:找到了接口org.quartz.Trigger,但是期望使用类

Piy*_*ani 1 java quartz-scheduler

我正在例外

org.springframework.beans.factory.BeanCreationException:在类路径资源中创建名称为“ quartzScheduler”的bean时出错

谁能帮我解决问题。

我正在使用以下依赖

            <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>2.2.1</version>
            </dependency>

            `enter code here`<dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>4.0.0.RELEASE</version>
            </dependency>
Run Code Online (Sandbox Code Playgroud)

我的代码如下

    @Configuration
    @ComponentScan(
            basePackages = {"com.test"},
            useDefaultFilters = false,
            includeFilters = {
                @ComponentScan.Filter(type = FilterType.ANNOTATION, value = Service.class),
                @ComponentScan.Filter(type = FilterType.ANNOTATION, value = Component.class)
            })
    public class QuartzConfig {

        // this data source points to the database that contains Quartz tables
        @Autowired
        private DataSource dataSource;

        @Autowired
        private PlatformTransactionManager transactionManager;

        @Autowired
        private ApplicationContext applicationContext;

        @Bean
        public SchedulerFactoryBean quartzScheduler() {

            SchedulerFactoryBean quartzScheduler = new SchedulerFactoryBean();

            quartzScheduler.setQuartzProperties(quartzProperties());
            quartzScheduler.setDataSource(dataSource);
            quartzScheduler.setTransactionManager(transactionManager);
            quartzScheduler.setOverwriteExistingJobs(true);

            // Custom job factory of spring with DI support for @Autowired
            AutowiringSpringBeanJobFactory jobFactory = new AutowiringSpringBeanJobFactory();
            jobFactory.setApplicationContext(applicationContext);
            quartzScheduler.setJobFactory(jobFactory);

            Trigger[] triggers = {
                processMyJobTrigger().getObject()
            };

            quartzScheduler.setTriggers(triggers);

            JobDetail[] jobDetails = {
                processMyJob().getObject()
            };

            quartzScheduler.setJobDetails(jobDetails);

            System.out.println("Here 111212121212");

            return quartzScheduler;
        }

        @Bean
        public JobDetailFactoryBean processMyJob() {
            JobDetailFactoryBean jobDetailFactory = new JobDetailFactoryBean();
            jobDetailFactory.setJobClass(MyJob.class);
            jobDetailFactory.setDurability(true);
            return jobDetailFactory;
        }

        @Bean
        public CronTriggerFactoryBean processMyJobTrigger() {
            CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean();
            cronTriggerFactoryBean.setJobDetail(processMyJob().getObject());
            cronTriggerFactoryBean.setCronExpression("0 0/1 * * * ?");
            return cronTriggerFactoryBean;
        }

        @Bean
        public Properties quartzProperties() {
            PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
            propertiesFactoryBean.setLocation(new ClassPathResource("quartz.properties"));
            Properties properties;

            try {
                propertiesFactoryBean.afterPropertiesSet();
                properties = propertiesFactoryBean.getObject();
            } catch (IOException e) {
                throw new RuntimeException("Unable to load quartz.properties", e);
            }

            return properties;
        }
    }
Run Code Online (Sandbox Code Playgroud)

Piy*_*ani 5

这是由于依赖关系spring-context-support与spring-support发生冲突。我卸下了弹簧支撑,现在可以正常工作了