草庐IT

Quartz-Scheduler

全部标签

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

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

Quartz.NET配置文件:简便任务调度,轻松管理

 概述:Quartz.NET是一个强大的任务调度库,支持通过配置文件灵活配置任务和触发器。配置文件中定义了调度器、线程池、作业和触发器的相关信息。默认情况下,Quartz.NET在应用程序根目录查找名为quartz.config的配置文件。若配置文件位于其他路径或具有不同名称,可以通过传递NameValueCollection来指定。以下是一个简单的示例,演示了如何使用配置文件配置两个作业和触发器。Quartz.NET是一个强大的开源任务调度库,可以通过配置文件方便地进行任务配置。使用配置文件的优点在于可以将任务的调度信息与代码分离,使得任务配置更加灵活,并且可以在不修改代码的情况下进行调度策

java - ClassCastException:接口(interface) akka.actor.Scheduler 不能从类 akka.actor.LightArrayRevolverScheduler 分配

我正在尝试运行我已经在各种条件下成功运行了几个月的东西。我在运行Java7的Java应用程序中使用akka-actor_2.112.3.4和scala-library2.11.7。就像我说的,相同的代码已经工作了几个月。在最近的情况下,我得到以下信息:java.lang.ClassCastException:interfaceakka.actor.Schedulerisnotassignablefromclassakka.actor.LightArrayRevolverScheduleratakka.actor.ReflectiveDynamicAccess$$anonfun$getC

java - 僵尸线程正在吞噬我的大脑(J2EE、Tomcat、Hibernate、Quartz)

毕竟是万圣节。这就是问题所在:我正在使用Quartz维护一些老式的J2EE代码,其中线程用完了。jconsole告诉我,当它变成梨形时,只有不到60K个线程,其中大约100个(!!)实际上正在运行。直觉和一些谷歌搜索(另见here)表明正在发生的事情(我打赌Quartz)正在创建永远不会被清理的非托管线程。几个子问题:是否有我可以轻松使用的工具来跟踪线程创建,因此我可以确定问题真的出在Quartz上?我发现的关于类似问题的大部分内容都引用了Weblogic;这是Tomcat的错误线索吗?有没有人有已知的解决方案?我已经有好几年没接触J2EE了,所以如果这是可以简单解决的问题,我不会太惊

java - 我可以让等待的 Quartz Jobs 按照它们被触发的顺序触发吗?

我有一个使用QuartzScheduler来安排作业的应用程序。该应用程序当前正在运行Quartz版本1.6.2。我的JobStore是org.quartz.impl.jdbcjobstore.JobStoreTX,有一个Oracle数据库支持它。集群已打开,但只有一个调度程序使用数据库。我的Quartz线程池配置如下:org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount=5org.quartz.threadPool.threadPriority=5我

java - 在 Quartz 中使用 property/xml 文件动态添加脚本作为作业

Scenario:Iwanttocreateaschedulerapplicationwhichshouldrunshellscriptsasperthedefinedschedule.Tokeepitsimple,Iwanttheusertoaddscriptnameandexecutiontimingsinsomeexternalfile(properties/xml)whichwillbeusedbymyapplication.Fornow,IamplanningtorunthisapplicationasabackgroundprocessonLinuxserver.Infut

java - 如何在不重启 tomcat 服务器的情况下从属性文件更改 spring scheduler 的 cron 表达式?

我正在使用spring调度程序。这工作正常,但是当我每次需要重新启动tomcat服务器时更改application.properties中的cron.expression值。有什么方法可以使它动态化,就像自动更改会反射(reflect)出来一样?我也用谷歌搜索,但没有为我的应用找到任何解决方案。我给出的代码片段如下:应用程序属性cron.expression=05823**?@Scheduled(cron="${cron.expression}",zone="IST")publicvoidsendEmail()throwsException{} 最佳答案

java - Quartz API 和 Joda Time API 之间有什么关系?

是否可以在JodaTime中创建一个日期,然后使用JodaTime对象让Quartz安排作业?我们可以为QuartzAPI提供PeriodjodaPeriod以便在一天中的特定时间段运行任务吗?这两个API是否相关和/或兼容? 最佳答案 AxonFramework有一个QuartzEventScheduler这看起来就像你想要的那样。这是downlaodpage并且它在Apache2.0许可下。 关于java-QuartzAPI和JodaTimeAPI之间有什么关系?,我们在StackO

跨时区的 Java Quartz-Scheduler

我的服务器在欧洲/罗马时区运行-这是服务器上的默认时区-我需要根据用户的时区安排作业,所以,如果用户,生活在太平洋/火奴鲁鲁时区,安排一个CronTrigger在每天下午22:00为他所在的地球区域触发我找到了这个解决方案:CronTriggertrigger=newTrigger().withIdentity("name","group").withSchedule(cronSchedule("0022?**").inTimeZone(TimeZone.getTimeZone("Pacific/Honolulu"))).startNow().build();在我的服务器上这项工作在“

java - quartz 不触发简单触发器

这应该很简单,但我没有看到任何作业正在执行。我在任务的execute()方法上有一个断点,没有线程到达那里。我不明白哪里出了问题。工作classPrinterimplementsJob{publicPrinter(){System.out.println("createdprinter");}@Overridepublicvoidexecute(JobExecutionContextcontext)throwsJobExecutionException{System.out.println("hi"+context.getFireTime());}}主类classMyClass{pub