Как вынести org.quartz.jobStore.isClustered из quartz.properties в настройки сервера?

152
20 ноября 2021, 15:10

Использовал spring-quartz для выполнения задач по расписанию Все настроил и протестировался на кластере с двумя нодами

вот пример quartz.properies

#============================================================================
# Configure Main Scheduler Properties  
#============================================================================
org.quartz.scheduler.instanceName = ClusteredScheduler
org.quartz.scheduler.instanceId = AUTO
#============================================================================
# Configure ThreadPool  
#============================================================================
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.makeThreadsDaemons = true
#============================================================================
# Configure JobStore  
#============================================================================
org.quartz.jobStore.misfireThreshold = 60000
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 = MyDataService
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.dataSource.MyDataService.jndiURL = java:comp/env/jdbc/MyDataService

У меня есть потребность одну и ту же сборку устанавливать и на сервер с одной нодой(не кластер), и на кластер с множеством нод

Поэтому подозреваю что можно как-то вынести эту настройку из property-файла на сервера и забирать ее чем-то вроде System.getProperty()

Но как это сделать, как вынести из файла эту настройку, возможно можно создать какой-то бин и уже туда устанавливать это свойство?

p.s. У меня возникла идея на данный момент, воспользоваться свойством org.quartz.jobStore.useProperties = true Это свойство указывает чтобы мы хранили свойства в базе данных. И, следовательно, я ведь могу взять и в каждой базе для разных серверов, настроить это свойство. Для кого-то будет указана что среда кластерная с нодами, а для вторых - что все нормик, и работать как со стенделон

READ ALSO
Просьба помочь, не могу разобраться

Просьба помочь, не могу разобраться

Допишите конструктор в класс Time, который принимает время в секундах

153
Распарсить и распечать период в формате ISO8601

Распарсить и распечать период в формате ISO8601

Я хочу такую строку распарсить P3Y6M4DT12H30M17S(ОДин из форматов) и распечатать 3 года 6 месяцев 4 суток 12 часов 30 минут и 17 секунды

189
Не работает проверка символов в cmd

Не работает проверка символов в cmd

Когда я сравниваю символ введённый с клавиатуры в eclipse то он проверяет нормально, а вот в cmd уже не работает, только русские символы

119