问题标签 [quartz]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5516 浏览

java - SchedulerFactory 是否能够在启动时为石英创建表?

我正在尝试使用 spring boot 运行集成测试并收到以下错误:

很明显,QRTZ没有创建表。我可以手动创建它们,但是当它们不存在时,spring boot 是否真的无法创建它们?如果是这样,看起来很奇怪,因为这些表只需要在启动时创建一次,并且像 sql 语句create if not exisit就足够了。那么spring boot可以自动创建QRTZ表吗?

0 投票
0 回答
363 浏览

sql-server - 升级 hibernate3 到 hibernate4 后 Quartz 开始抛出 java:comp/websphere/ExtendedJTATransaction

我的 Quartz batchjob 应用程序抛出以下错误:

org.hibernate.engine.jndi.JndiException:无法查找 JNDI 名称 [java:comp/websphere/ExtendedJTATransaction


下面是我的配置:

上述错误仅在我使用WebSphere(XA DataSource)时发生,使用Jboss时没有问题。

下面是我的开发。环境:
1. WebSphere + SQL Server (XA DataSource) -> 出现上述问题
2. WebSphere + Oracle (XA DataSource) -> 出现上述问题
3. JBoss + SQL Server (XA DataSource) -> My quartz app工作没有任何错误
4. JBoss + Oracle (XA DataSource) -> 我的石英应用程序工作没有任何错误

注意:
只有在使用WebSphere时才会出现问题(使用JBoss时没有问题),请帮助!!!


以下是完整的堆栈跟踪:

RepoBiometricFrTempDaoHibernateImpl.load(RepoBiometricFrTempDaoHibernateImpl.java:29) ... 62 更多原因:javax.naming.ConfigurationException:无法完成对“java:”名称的 JNDI 操作,因为服务器运行时无法将操作的线程与任何 J2EE 应用程序组件。当使用“java:”名称的 JNDI 客户端未在服务器应用程序请求的线程上执行时,可能会发生这种情况。确保 J2EE 应用程序不会在静态代码块或由该 J2EE 应用程序创建的线程中对“java:”名称执行 JNDI 操作。此类代码不一定在服务器应用程序请求的线程上运行,因此不受“java:”名称上的 JNDI 操作的支持。[根异常是 javax.naming.NameNotFoundException:在 com.ibm.ws.naming.java.javaURLContextImpl.lookup( javaURLContextImpl.java:399) 在 com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:221) 在 javax.naming.InitialContext.lookup(Unknown Source) 在 org.hibernate.engine.jndi.internal。 JndiServiceImpl.locate(JndiServiceImpl.java:114) ... 75 更多原因:javax.naming.NameNotFoundException:在上下文“java:”中找不到名称 comp/websphere。在 com.ibm.ws.naming.ipbase.NameSpace.getParentCtxInternal(NameSpace.java:1837) 在 com.ibm.ws.naming.ipbase.NameSpace.lookupInternal(NameSpace.java:1166) 在 com.ibm.ws.naming .ipbase.NameSpace.lookup(NameSpace.java:

0 投票
2 回答
8107 浏览

python - 安装 Quartz 模块时出现“没有这样的文件:‘requirements.txt’错误”

当我尝试在我的系统上安装 Quartz 时pip install Quartz,我遇到了以下错误。我将 Mac OSX 与 Anaconda 一起使用。任何帮助表示赞赏。

0 投票
1 回答
944 浏览

java - 你可以顺序运行两个不同的 Quartz 作业实例吗?

嗨,我有一个 Job 1 被触发,每分钟触发一次, Job 2 每 5 分钟触发一次。因此,每隔五分钟,两个作业将同时运行,我想避免这种情况并强制第二个作业触发以等待另一个作业完成后再开始。我见过@DisallowConcurrentExecution 但这只会避免相同作业的两个实例的并行运行,而不是不同作业之间的并行运行。

0 投票
2 回答
1891 浏览

ios - 将 UIKit 坐标转换为 Quartz/CoreImage (Swift)

有没有办法将 UIKit 坐标(左上角 0,0)转换为 Quartz/CoreImage(左下角 0,0)?在这里找不到任何与此相关的快速相关内容。

0 投票
0 回答
337 浏览

java - Quartz 触发器从数据库中消失

我有从我们的数据库中随机删除的石英时间表。该计划预计每天运行两次,但有一天它没有运行并且触发器在数据库中被删除。

我已经尝试研究可能导致这种情况的原因。一个可能的原因是触发器没有 NEXTFIRE_TIME,因此石英删除了触发器,但我们所有的触发器都没有在数据库中设置 END_TIME。

什么可能导致删除数据库中的触发器?我们使用的是quartz-2.2.1.jar。

0 投票
0 回答
506 浏览

java - Quartz:重新安排触发器时会发生什么失火?

所以考虑

  1. 我已经安排了一个 Job J1 和 Trigger T1,其中线程池分配给了带有 3 个线程的石英。
  2. T1 计划在每天早上 5 点执行作业,并带有 misfire 指令以立即运行所有作业。
  3. 如果我的服务器处于关闭状态 15 天,则会出现 15 次失火,这些失火将在服务器启动时立即运行。
  4. 现在,当服务器启动时,3 个未触发的作业将开始执行,其余 12 个作业将排队。
  5. 同时,我重新安排Trigger T1在早上6点执行Job

是否有可能在未触发的作业排队并且所有未触发的作业丢失之前完成触发器的重新调度?

由于触发器在两者之​​间重新安排,是否有可能只有少数作业排队并且休息丢失?

0 投票
0 回答
35 浏览

java - 负载均衡时Oracle DB能否提供访问tomcat服务器的ID

好的,这是设置:

  • 我在我的 Java 应用程序中使用 Quartz。
  • Java 应用程序被复制以实现负载平衡。
  • 这些副本访问 Oracle DB。
  • 一个石英作业将同时在所有副本上触发,但由于竞争条件,我只希望它在一个上运行。...而且,你知道,它是重复的。

对此有许多黑客解决方案。甚至有一个适当的集群解决方案。但是,我要求一些具体的东西。我想知道是否可以通过石英作业查询数据库元/模式,并响应负载均衡器上的哪个服务器正在询问。可能通过驱动程序提供给数据库的某种形式的标识。我可以明确知道我的唯一 ID 的东西。这样,我可以杀死 ID 大于 1 或不是 serverName xyz 等的作业。

0 投票
0 回答
690 浏览

java - 如何实现 Quartz Exponential Backoff 策略?

目前我的石英工作是通过这种方式触发的:

  • 首次安排作业时,作业将在 5 分钟后触发。
  • 该作业将被触发 5 次,时间间隔为 2 分钟。

因此,如果我在时间 1 安排我的作业,该作业将在 time1 + 5, time1 + 7, time1 + 9, time1 + 11,执行time1 + 13

但我需要让工作不那么激进,所以我的问题是如何将触发器设置为具有指数时间间隔?这样在我在时间 1 安排作业后,作业将在以下时间执行: time1 + 5, time1 + 7, time1 + 11, time1 + 19, time1 + 35?

每次作业完成后我应该重新安排作业吗?

0 投票
2 回答
14133 浏览

java - 如何使用 sql 手动更改石英作业计划时间?

我正在使用 Quartz 作业调度程序来运行一些作业。使用 java api 我正在管理这项工作。

当我使用 java 将工作重新安排到不同的时间时,

该作业正在重新安排并在指定时间触发。

现在有一个要求,我必须在没有 UI(没有 Java api)的情况下重新安排工作。

据我了解,当我重新安排工作时,下表条目会更新。

QRTZ_JOB_DETAILS

QRTZ_TRIGGERS

QRTZ_CRON_TRIGGERS

所以我手动更新了 QRTZ_TRIGGERS,QRTZ_CRON_TRIGGERS 中的触发时间。但是在更新的时间不会触发作业。

这有可能达到我的要求吗?

注意:我的后端使用的是 sql server 2008。

表结构: