jjzjj

java - 使用 Quartz 只运行一次作业

有没有一种方法可以让我在Java中使用Quartz只运行一次作业?我知道在这种情况下使用Quartz没有意义。但是,问题是,我有多项工作,而且它们运行了多次。所以,我正在使用Quartz。这可能吗? 最佳答案 您应该使用在特定时间触发且不重复的SimpleTrigger。TriggerUtils有许多方便的方法来创建这类东西。 关于java-使用Quartz只运行一次作业,我们在StackOverflow上找到一个类似的问题: https://stackove

Java:Spring/Quartz:基本教程代码不起作用

我正在尝试让Spring和Quartz的基本示例正常工作。这是我正在关注的教程:http://www.mkyong.com/spring/spring-quartz-scheduler-example/我已经尽可能准确地复制了所有内容,但我在输出窗口中看不到任何内容。spring-quartz.xmlapplicationContext.xml项目结构编辑我是否需要以某种方式手动启Action业?我在该教程和其他教程中看到,他们通常在main()方法中启动quartz作业。来自.NET背景对我来说似乎有点奇怪,因为我只知道桌面应用程序中的main方法;不是网络应用程序。在ASP.NET

java - 在 Openbravo 中同时运行两次的计划进程(使用 Quartz)

我不太确定这是Openbravo问题还是Quartz问题,但我们有一些手动流程通过OpenbravoProcessRequest对象按计划运行(OBv2.50MP24),但这些进程似乎同时运行了两次。Openbravo为他们的调度扩展了Quartz平台。我已尝试通过确保我的流程类扩展此类来自行解决此问题:importjava.util.List;importorg.openbravo.dal.service.OBDal;importorg.openbravo.model.ad.ui.ProcessRequest;importorg.openbravo.scheduling.Proces

java - 如何使用 Quartz 实现超时?

我正在尝试找到使用quartz实现超时的最佳方法,但我想知道这个框架是否已经包含一个类或接口(interface)来执行它。需要执行的超时是因为我想知道工作已经工作了多长时间,并采取关闭工作的决定。 最佳答案 因为java平台没有提供任何方法来停止线程,Quartz也没有提供任何方法来停止在线程上执行的作业。作业需要照顾好自己,因为Quartz不知道它们的execute()方法中有什么代码。我建议在作业的execute()方法开始时使用System.currentTimeMillis()来记录当前时间,然后每次通过作业的主循环再次使

java - 如何避免在 Quartz 中同时运行两个作业?

我在下面的代码中运行了两个作业。第一个间隔为10秒,另一个间隔为3秒。但最终在某个时候它们会同时执行。有什么机制可以避免这种情况JobDetailjDetail=newJobDetail("Job1","group1",MyJob.class);CronTriggercrTrigger=newCronTrigger("cronTrigger","group1","0/10****?");sche.scheduleJob(jDetail,crTrigger);jDetail=newJobDetail("Job2","group2",MyJob2.class);crTrigger=newC

java - 无法存储作业 : Driver's Blob representation is of an unsupported type: oracle. sql.BLOB

我收到这个错误:org.quartz.JobPersistenceException:Couldn'tstorejob:Driver'sBlobrepresentationisofanunsupportedtype:oracle.sql.BLOB[Seenestedexception:java.sql.SQLException:Driver'sBlobrepresentationisofanunsupportedtype:oracle.sql.BLOB]atorg.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSup

java - 使用 java.util.timer 与 Quartz 进行调度的优缺点?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我必须编写一个应用来执行一系列任务:任务在每天0200时运行一次。任务在每天0400时运行一次任务从0003时开始以15分钟为间隔运行任务从0005时开始以15分钟为间隔运行使用普通java.util.timer与使用普通java.util.timer的优缺点是什么?quartz?我应该考虑其他替代方案吗?

java - org.quartz.jobStore.clusterCheckinInterval 的推荐值

我们在集群环境中使用quartz调度程序(集群中的两个节点,指向单个Oracle数据库)。目前我们有两个作业,几乎每一个小时运行一次。我们有一个单独的数据库架构用于quartz作业。我们注意到,quartz每15秒检查一次数据库(clusterCheckinInterval的默认值)。我们不喜欢这样,希望减少它的频率。我们的想法是给出1分钟的频率,但大多数示例配置将clusterCheckinInterval指定为20000。有人可以为clusterCheckinInterval推荐一个合适的值吗?来自Quartz文档:org.quartz.jobStore.clusterChecki

java - 使用 Quartz 立即执行一次性任务

我正在使用Quartz构建一个集群线程池,我有许多在不同时间运行的任务。在集群ThreadPool上内在地且仅运行一次任务的最佳方法是什么。我知道我可以将任务设置为高优先级。但是注册“一次性”任务的最佳方式是什么? 最佳答案 您还可以使用TriggerBuilder类,让生活更轻松一点。它与之前发布的内容类似,只是更干净一些。Triggertrigger=TriggerBuilder.newTrigger().startNow().build(); 关于java-使用Quartz立即执行

java - 当有多个 quartz 线程时,让 quartz 只在一个线程中执行作业

我想知道是否可以将quartz配置为在任何给定时间执行仅在一个线程中运行的长时间处理作业。换句话说,假设我配置了大小为5的SimpleThreadPool的quartz。我有一个作业每10秒触发一次,但在某些情况下可能需要超过10秒才能完成。有没有办法配置quartz触发器/作业/调度程序,以便该触发器不会再次触发,因为它已经在另一个线程中处于运行状态。当触发器再次触发时,池中的另一个线程将拾取它并同时运行同一作业的两个实例。感谢您的输入。澄清:(关于使用大小为1的线程池的建议)。要求是将线程池配置为5个线程,并且任何单个作业在任何给定时间仅在单个线程中执行,换句话说,一个作业的实例应