【问题标题】:Quartz Scheduler create schedulerFactoryBean Beans without quartz.propertiesQuartz Scheduler 创建 schedulerFactoryBean 没有quartz.properties的bean
【发布时间】:2017-04-18 06:20:51
【问题描述】:

我在我的 spring 应用程序中运行了石英调度程序。

现在,我正在使用quartz.properties 来包含任何属性值并使用它来创建schedulerFactoryBean Bean,它工作正常。

这是我的 QuartzConfiguration..

@Configuration
public class QuartzConfiguration {

    public static final String CONTEXT_KEY = "applicationContext";

    //@Autowired
    //private DataSource dataSource;
    @Bean
    public SchedulerFactoryBean schedulerFactoryBean() {
        SchedulerFactoryBean scheduler = new SchedulerFactoryBean();
        scheduler.setApplicationContextSchedulerContextKey(CONTEXT_KEY);
        scheduler.setConfigLocation(new ClassPathResource("config/quartz.properties"));
        //scheduler.setDataSource(dataSource);
        //scheduler.setAutoStartup(true);
        scheduler.setWaitForJobsToCompleteOnShutdown(true);
        return scheduler;
    }

}

我的石英属性:

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
org.quartz.jobStore.useProperties=false
org.quartz.jobStore.dataSource=myDS
org.quartz.dataSource.myDS.driver =oracle.jdbc.OracleDriver
org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:@example:1521:db
org.quartz.dataSource.myDS.user = user
org.quartz.dataSource.myDS.password = password
org.quartz.dataSource.myDS.maxConnections = 5
org.quartz.dataSource.myDS.validationQuery = select 1 from dual
org.quartz.jobStore.isClustered=false
org.quartz.jobStore.tablePrefix = DPPA.QUARTZ_
org.quartz.threadPool.threadCount=1
org.quartz.scheduler.skipUpdateCheck=true
org.quartz.plugin.jobHistory.class=id.co.fifgroup.dpa.batch.BatchHistoryListener

我想创建没有任何quartz.properties 的schedulerFactoryBean,因为我的客户不想更改战争档案中的任何数据库连接。

是否可以在没有任何 quartz.properties 的情况下创建 schedulerFactoryBean ?

【问题讨论】:

    标签: java spring quartz-scheduler


    【解决方案1】:

    你可以通过这种方式在没有属性文件的情况下进行配置;

    Properties p = new Properties();
    p.put("org.quartz.scheduler.instanceName", "Scheduler_test");
    p.put("org.quartz.threadPool.threadCount", 2);
    ...
    StdSchedulerFactory factory = new StdSchedulerFactory(p);
    

    【讨论】:

    • 通过这样做 `Properties p = new Properties();` 和 scheduler.setQuartzProperties(p);
    猜你喜欢
    • 1970-01-01
    • 2021-11-09
    • 2017-01-29
    • 1970-01-01
    • 2012-12-25
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    相关资源
    最近更新 更多