虽然我以前对Quartz有一些经验,但我是在现有项目中首次从头开始设置它。我们决定使用Quartz(部分)来为未来的需求做准备。
我正在寻找以下建议/建议:
要求
选项
我看到了以下实施选项,非常感谢您的反馈。
我不确定(提前)上述各项对应要求的容易程度。
根据我上面所写的内容,我将不胜感激。我找不到很多关于此的指导原则,因为大多数似乎仅限于以特定间隔或时间运行的Quartz作业,并执行独立于用户调度或用户请求的特定任务。
感谢。
答案 0 :(得分:0)
你确定你在说什么
主要是自我管理 - 这听起来更像是你要编写自己的调度程序
Quartz Managed - 一旦添加到调度程序,所有作业都只进行石英管理
要进行任何更改,您只需要编写一些可以调用Manager类的东西,这可以停止特定的工作等等。
任何作业只有在执行的时间间隔远远超过预定的时间间隔时才会并行运行。
一次只运行一个作业只意味着您正在使用@DisallowConcurrentExecution来禁用特定作业的任何并发执行。要专门为每个组运行的作业实例计数,您需要编写一些自定义逻辑。
提示:所有Quartz作业都通过JobExecutionContext,找出它是哪个作业组。然后添加..........自己想想。
您可以查看如何使用Quartz作业持久性。再次自己动手吧。我相信Quartz有足够的信息来解决这个问题以及如何实现它。
请记住所有API不仅仅是QuartZ提供了一系列操作。但是实现以及如何使用它们来自开发人员。总是提供固定的轮廓以及如何引导可用。 Java是一种拥有大量文档的语言。
您可以通过此讨论获得帮助 Controlling instances of Job
BTW它将是您自己的自定义实现。我现在还没有尝试检查任何可用的石英插件。
想到另一个解决方案。如果您有任何UI界面或添加任务的东西。和任何间隔(再次..........)
您可能会做的是,将您的工作写入堆栈 QuartZ作业可能只是读取堆栈并将其作为单独的线程加载。
创建具有固定线程数的线程池。在这个线程池中,我们可以生成线程。
这样你就可以控制线程数
我认为这更像是一个实施计划