微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Quartz 调度程序未在其配置的数据库中插入其调度程序详细信息 EAR 1 quartz.properties 文件配置EAR 2 quartz.properties 文件配置

如何解决Quartz 调度程序未在其配置的数据库中插入其调度程序详细信息 EAR 1 quartz.properties 文件配置EAR 2 quartz.properties 文件配置

我使用的是 JBoss 应用服务器,我在不同的机器上有两个 JBoss AS 节点,在每个节点上我部署了两个不同的 EAR,其中包含不同的 quartz.properties,每个 EAR 都有自己的数据库

>

EAR 1 quartz.properties 文件配置

org.quartz.scheduler.instanceName = Scheduler1
org.quartz.scheduler.instanceId = AUTO
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.threadPriority = 5
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreCMT
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.MSsqlDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.jobStore.dataSource = CI
org.quartz.dataSource.CI.jndiURL = java:jboss/datasources/CI
org.quartz.jobStore.dataSource = nonManagedTX
org.quartz.dataSource.nonManagedTX.jndiURL = java:jboss/datasources/CI
org.quartz.jobStore.nonManagedTXDataSource = nonManagedTX 

EAR 2 quartz.properties 文件配置

org.quartz.scheduler.instanceName = Scheduler2
org.quartz.scheduler.instanceId = AUTO
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 1
org.quartz.threadPool.threadPriority = 5
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreCMT
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.MSsqlDelegate
org.quartz.jobStore.tablePrefix = QRTZ_
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.jobStore.dataSource = CE
org.quartz.dataSource.CE.jndiURL = java:jboss/datasources/CE
org.quartz.jobStore.dataSource = nonManagedTX
org.quartz.dataSource.nonManagedTX.jndiURL = java:jboss/datasources/CE
org.quartz.jobStore.nonManagedTXDataSource = nonManagedTX

问题是我在 JBoss AS 上部署 EAR1 和 EAR2 时,EAR1 的所有配置都会插入到 EAR2 数据库中,反之亦然,下面是存储 Quartz 数据的表。

  1. QRTZ_CRON_TRIGGERS
  2. QRTZ_JOB_DETAILS
  3. QRTZ_LOCKS
  4. QRTZ_SCHEDULER_STATE
  5. QRTZ_SIMPLE_TRIGGERS
  6. QRTZ_TRIGGERS

我已经重新检查了 jndiURL 和数据源名称等所有配置,但没有运气。

谁能告诉我为什么会这样? Quartz 调度器如何将一个 EAR 的触发器插入到另一个 EAR 数据库中,如果我在两个 EAR 中的配置不同,我该如何解决这个问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。