SchedulerTriggerListener really should just be normally injected, like
everything else; it's an anti pattern to directly use applicationContext, unless there is a specific good reason for it.
This commit is contained in:
+7
-2
@@ -54,6 +54,7 @@ public class JobRegisterServiceImpl implements JobRegisterService {
|
|||||||
private TenantDetailsService tenantDetailsService;
|
private TenantDetailsService tenantDetailsService;
|
||||||
private SchedulerJobListener schedulerJobListener;
|
private SchedulerJobListener schedulerJobListener;
|
||||||
private SchedulerStopListener schedulerStopListener;
|
private SchedulerStopListener schedulerStopListener;
|
||||||
|
private SchedulerTriggerListener globalSchedulerTriggerListener;
|
||||||
|
|
||||||
private final HashMap<String, Scheduler> schedulers = new HashMap<String, Scheduler>(4);
|
private final HashMap<String, Scheduler> schedulers = new HashMap<String, Scheduler>(4);
|
||||||
|
|
||||||
@@ -82,6 +83,11 @@ public class JobRegisterServiceImpl implements JobRegisterService {
|
|||||||
this.schedulerStopListener = schedulerStopListener;
|
this.schedulerStopListener = schedulerStopListener;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public void setGlobalTriggerListener(SchedulerTriggerListener globalTriggerListener) {
|
||||||
|
this.globalSchedulerTriggerListener = globalTriggerListener;
|
||||||
|
}
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void loadAllJobs() {
|
public void loadAllJobs() {
|
||||||
final List<MifosPlatformTenant> allTenants = this.tenantDetailsService.findAllTenants();
|
final List<MifosPlatformTenant> allTenants = this.tenantDetailsService.findAllTenants();
|
||||||
@@ -277,8 +283,7 @@ public class JobRegisterServiceImpl implements JobRegisterService {
|
|||||||
final SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
|
final SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
|
||||||
schedulerFactoryBean.setSchedulerName(name);
|
schedulerFactoryBean.setSchedulerName(name);
|
||||||
schedulerFactoryBean.setGlobalJobListeners(jobListeners);
|
schedulerFactoryBean.setGlobalJobListeners(jobListeners);
|
||||||
final TriggerListener globalTriggerListener = this.applicationContext.getBean("schedulerTriggerListener", TriggerListener.class);
|
final TriggerListener[] globalTriggerListeners = { globalSchedulerTriggerListener };
|
||||||
final TriggerListener[] globalTriggerListeners = { globalTriggerListener };
|
|
||||||
schedulerFactoryBean.setGlobalTriggerListeners(globalTriggerListeners);
|
schedulerFactoryBean.setGlobalTriggerListeners(globalTriggerListeners);
|
||||||
final Properties quartzProperties = new Properties();
|
final Properties quartzProperties = new Properties();
|
||||||
quartzProperties.put(SchedulerFactoryBean.PROP_THREAD_COUNT, Integer.toString(noOfThreads));
|
quartzProperties.put(SchedulerFactoryBean.PROP_THREAD_COUNT, Integer.toString(noOfThreads));
|
||||||
|
|||||||
Reference in New Issue
Block a user