我是石英新手。我用以下配置的mysql配置了jdbcjobstore。 如果我通过java创建一个调度程序,它的工作正常。
# Main Quartz configuration
org.quartz.scheduler.skipUpdateCheck = true
org.quartz.scheduler.instanceName = DatabaseClusteredScheduler
org.quartz.scheduler.instanceId = AUTO
org.quartz.scheduler.jobFactory.class = org.quartz.simpl.SimpleJobFactory
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.dataSource = quartzDataSource
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 5
# JobStore: JDBC jobStoreTX
org.quartz.dataSource.quartzDataSource.driver = com.mysql.jdbc.Driver
org.quartz.dataSource.quartzDataSource.URL = jdbc:mysql://192.168.1.2:3306/fatdb
org.quartz.dataSource.quartzDataSource.user = root
org.quartz.dataSource.quartzDataSource.password = root
org.quartz.dataSource.quartzDataSource.maxConnections = 8
我的问题是,可以直接在特定的Quartz表上放置条目(如调度程序,作业和其他信息),而无需编写程序。
例如 如果我将时间和适当的调度程序详细信息插入到石英表中,并且如果我使用上面的配置调用监听器,那么我将从用户获得特定时间,是否有效?
如果它可以作为表,我需要配置哪些字段。
答案 0 :(得分:4)
您不应该通过SQL直接写入quartz数据库。
JDBC JobStore
不要直接写入Quartz表
将调度数据直接写入数据库(通过SQL)而不是
使用调度API:
数据损坏的结果(删除数据,加扰数据) 在触发器的起火时间到来时,工作中的结果看似“消失”而不执行
当触发器的触发时间到来时,作业不执行“只是坐在那里”
可能导致:死锁
其他奇怪的问题和数据损坏
答案 1 :(得分:0)
我想通了,但它确实有效。我只将值插入3个表中,并且它工作得很好。您需要配置的表:[QRTZ_JOB_DETAILS],[QRTZ_TRIGGERS]和[QRTZ_CRON_TRIGGERS]。