- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经开发了一些执行 quartz 作业的代码。起初代码在 tomcat 之外并且执行得很好,但是当我尝试将相同的代码嵌入到 Web 应用程序中时,我得到了 java.lang.NoClassDefFoundError: org/quartz/DisallowConcurrentExecution.我正在使用 quartz 2.1.5,它已经在类路径中了。这是堆栈跟踪:
Exception in thread "DefaultQuartzScheduler_QuartzSchedulerThread" java.lang.NoClassDefFoundError: org/quartz/DisallowConcurrentExecution
INFO: Illegal access: this web application instance has been stopped already. Could not load org.quartz.DisallowConcurrentExecution. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
at org.quartz.impl.JobDetailImpl.isConcurrentExectionDisallowed(JobDetailImpl.java:390)
java.lang.IllegalStateException
at org.quartz.simpl.RAMJobStore.acquireNextTriggers(RAMJobStore.java:1447)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:264)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
Caused by: java.lang.ClassNotFoundException: org.quartz.DisallowConcurrentExecution
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.quartz.impl.JobDetailImpl.isConcurrentExectionDisallowed(JobDetailImpl.java:390)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at org.quartz.simpl.RAMJobStore.acquireNextTriggers(RAMJobStore.java:1447)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:264)
最佳答案
确保您的类路径中只有 1 个 quartz-all-.jar(也许您在 Tomcat lib 文件夹中有 2 : 1 + 在您的 war 中有 1 个)
关于java.lang.ClassNotFoundException : org. quartz .DisallowConcurrentExecution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086736/
我一直在研究一个调度引擎,它从数据库中读取计划作业并安排它们工作正常,但是数据库中的行只是某些类型作业的“配置”,例如: 获取FTP的一定配置有 host: imagineryHost1.com po
我正在使用javaquartz调度。我能够完美地安排作业,但我想要的是在运行第二轮之前等待作业完成,因为运行每个作业所需的时间各不相同。 我使用了@DisallowConcurrentExecutio
您好,我有两个 quartz 作业实例,我不想并行运行,我简化了下面示例中的代码以显示哪些内容不符合我的预期。 public class QuartzTest { public static void
如果这个问题太天真,我很抱歉,我希望安排作业,以便它一个接一个地执行,而不是并行执行。它只执行一次。 从文档来看,@DisallowConcurrentExecution 是 一种注释,将 {@lin
当一个作业因为 disallow 注释而没有运行时会发生什么。 它是否在当前正在运行的实例死亡后排队运行?是否只是丢弃了它的重复“运行”,再也听不到了? 我尝试过在代码中进行测试,但我对语言和库的缺乏
我已经开发了一些执行 quartz 作业的代码。起初代码在 tomcat 之外并且执行得很好,但是当我尝试将相同的代码嵌入到 Web 应用程序中时,我得到了 java.lang.NoClassDefF
请考虑这个例子。 一个示例 Web 应用程序在启动时调用 scheduler.start()。配置为将其作业存储在数据库中的调度程序。 应用程序被复制到六个网络服务器上。 因此,如果我们启动六个网络服
我有一个具有以下定义的 Quartz.net 作业。 [PersistJobDataAfterExecution] [DisallowConcurrentExecution]
如果我使用 JdbcStore 将作业代码部署在两个 JVM 上,@DisallowConcurrentExecution 能否确保所有 JVM 上仅运行一个作业? 最佳答案 是的,会的;这种属性甚至
我是一名优秀的程序员,十分优秀!