package com.iplatform.scheduler.config;
|
|
import com.iplatform.scheduler.DatabaseSchedulerManager;
|
import com.iplatform.scheduler.MemorySchedulerManager;
|
import com.iplatform.scheduler.service.SchedulerServiceImpl;
|
import com.iplatform.scheduler.support.DatabaseScheduleEngine;
|
import com.iplatform.scheduler.support.MemoryScheduleEngine;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
//@Configuration
|
//@ConditionalOnProperty(prefix = "iplatform.scheduler", name = "enabled", havingValue = "true", matchIfMissing = false)
|
@Deprecated
|
public class SchedulerManagerConfig {
|
|
private final transient Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
private SchedulerServiceImpl schedulerService;
|
|
@Autowired(required = false)
|
public SchedulerManagerConfig(SchedulerServiceImpl schedulerService){
|
this.schedulerService = schedulerService;
|
}
|
|
@Bean
|
public SchedulerManagerProperties schedulerManagerProperties(){
|
return new SchedulerManagerProperties();
|
}
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
//~ 初始化基于数据库的实现对象。2022-09-08
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
@Bean
|
@ConditionalOnProperty(prefix = "iplatform.scheduler", name = "database-enabled", havingValue = "true", matchIfMissing = false)
|
public DatabaseScheduleEngine databaseScheduleEngine(){
|
DatabaseScheduleEngine scheduleEngine = new DatabaseScheduleEngine();
|
scheduleEngine.setSchedulerService(this.schedulerService);
|
return scheduleEngine;
|
}
|
|
@Bean
|
@ConditionalOnProperty(prefix = "iplatform.scheduler", name = "database-enabled", havingValue = "true", matchIfMissing = false)
|
public DatabaseSchedulerManager databaseSchedulerManager(DatabaseScheduleEngine scheduleEngine){
|
DatabaseSchedulerManager schedulerManager = new DatabaseSchedulerManager();
|
schedulerManager.setSchedulerService(this.schedulerService);
|
schedulerManager.setScheduleEngine((DatabaseScheduleEngine) scheduleEngine);
|
logger.info("创建了 DatabaseSchedulerManager, scheduleEngine=" + scheduleEngine.getClass().getName());
|
schedulerManager.startup();
|
return schedulerManager;
|
}
|
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
//~ 初始化基于内存的实现对象。2022-09-08
|
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
@Bean
|
@ConditionalOnProperty(prefix = "iplatform.scheduler", name = "database-enabled", havingValue = "false", matchIfMissing = false)
|
public MemoryScheduleEngine memoryScheduleEngine(){
|
return new MemoryScheduleEngine();
|
}
|
|
@Bean
|
@ConditionalOnProperty(prefix = "iplatform.scheduler", name = "database-enabled", havingValue = "false", matchIfMissing = false)
|
public MemorySchedulerManager memorySchedulerManager(MemoryScheduleEngine scheduleEngine){
|
MemorySchedulerManager schedulerManager = new MemorySchedulerManager();
|
schedulerManager.setScheduleEngine((MemoryScheduleEngine) scheduleEngine);
|
logger.info("创建了 MemorySchedulerManager, scheduleEngine=" + scheduleEngine.getClass().getName());
|
schedulerManager.startup();
|
return schedulerManager;
|
}
|
// @Bean
|
// public ScheduleEngine scheduleEngine(SchedulerManagerProperties schedulerManagerProperties){
|
// if(schedulerManagerProperties.getDatabaseEnabled()){
|
// DatabaseScheduleEngine scheduleEngine = new DatabaseScheduleEngine();
|
// scheduleEngine.setSchedulerService(this.schedulerService);
|
// return scheduleEngine;
|
// } else {
|
// return new MemoryScheduleEngine();
|
// }
|
// }
|
//
|
// @Bean
|
// public PlatformSchedulerManager platformSchedulerManager(ScheduleEngine scheduleEngine
|
// , SchedulerManagerProperties schedulerManagerProperties){
|
// if(schedulerManagerProperties.getDatabaseEnabled()){
|
// DatabaseSchedulerManager schedulerManager = new DatabaseSchedulerManager();
|
// schedulerManager.setSchedulerService(this.schedulerService);
|
// schedulerManager.setScheduleEngine((DatabaseScheduleEngine) scheduleEngine);
|
// logger.info("创建了 DatabaseSchedulerManager, scheduleEngine=" + scheduleEngine.getClass().getName());
|
// schedulerManager.startup();
|
// return schedulerManager;
|
// } else {
|
// MemorySchedulerManager schedulerManager = new MemorySchedulerManager();
|
// schedulerManager.setScheduleEngine((MemoryScheduleEngine) scheduleEngine);
|
// logger.info("创建了 MemorySchedulerManager, scheduleEngine=" + scheduleEngine.getClass().getName());
|
// schedulerManager.startup();
|
// return schedulerManager;
|
// }
|
// }
|
}
|