Я довольно новичок в приложении Quartz.
Мне нужно подключиться к хранилищу кварца (пример источника данных Oracle DB) из библиотеки Quartz SDK. Есть ли способ сделать это? Я не хочу включать опцию JMX / RMI в кварце. Пожалуйста, укажите мне ссылку или любой другой материал.
Вот что я пробовал:
Установите Quartz в поле linux и настройте простой триггер, чтобы печатать число за каждую 1 секунду
Я подключил базу данных из конфигурации, используя quartz.properties.
org.quartz.scheduler.instanceName = TEST_DB
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 4
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true
#specify the jobstore used
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties = false
#The datasource for the jobstore that is to be used
org.quartz.jobStore.dataSource = myDS
#quartz table prefixes in the database
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.misfireThreshold = 60000
org.quartz.jobStore.isClustered = true
org.quartz.scheduler.instanceId = QUARTZ_TEST
#The details of the datasource specified previously
org.quartz.dataSource.myDS.driver = oracle.jdbc.driver.OracleDriver
org.quartz.dataSource.myDS.URL = jdbc:oracle:thin:@//<ipaddr>:1521/<pdbservc>
org.quartz.dataSource.myDS.user = test
org.quartz.dataSource.myDS.password = test
org.quartz.dataSource.myDS.maxConnections = 20
Детали и данные задания успешно сохранены в БД Oracle. Теперь мне нужно запросить репозиторий Quartz в этом случае oracle db, чтобы получить подробную информацию о следующем триггере и выполняемых в данный момент заданиях и т. Д.
, поскольку кварц является внешней зависимостью, мое приложение использует этот сервис для планирования.
На моем ноутбуке с Windows, используя тот же файл свойств кварца, я написал тестовый код для получения подробностей репо.
public class QuartzConnectionUtil {
private Scheduler scheduler = getScheduler();
public Scheduler getScheduler() {
try {
Properties properties = loadProperties();
System.out.println(properties.get("org.quartz.jobStore.dataSource"));
scheduler = new StdSchedulerFactory(properties).getScheduler();
} catch (Exception e) {
e.printStackTrace();
}
return scheduler;
}
private Properties loadProperties() {
Properties properties = new Properties();
`try
{properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("Quartz.properties"));
} catch (Throwable t) {
System.err.println("Warning - could not load as a properties file");
}
return properties;
}
Я пытался подключиться и получить подробности, но не смог получить информацию о хранилище. Пожалуйста, помогите.