java - 如何在Web应用程序中高效地使用quartz框架?

标签 java spring spring-mvc quartz-scheduler

我在我的 Web 应用程序(在 Tomcat 中运行)中使用 Quartz 框架,到目前为止它运行良好。我将有大约 10-15 个作业在一天内运行几次。

下面是我的 quartz_data.xml 文件,其中包含我的所有作业。截至目前,我只显示两个职位,但它将有大约 10-15 个职位。

<?xml version="1.0" encoding="UTF-8"?>

<job-scheduling-data
    xmlns="http://www.quartz-scheduler.org/xml/JobSchedulingData"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.quartz-scheduler.org/xml/JobSchedulingData http://www.quartz-scheduler.org/xml/job_scheduling_data_2_0.xsd"
    version="1.8">

    <schedule>
        <job>
            <name>TestJobA</name>
            <job-class>com.sample.controller.TestJobA</job-class>
        </job>
        <trigger>
            <cron>
                <name>TestJobA</name>
                <job-name>TestJobA</job-name>
                <cron-expression>0 0/1 * 1/1 * ? *</cron-expression>
            </cron>
        </trigger>
    </schedule>

        <schedule>
        <job>
            <name>TestJobB</name>
            <job-class>com.sample.controller.TestJobB</job-class>
        </job>
        <trigger>
            <cron>
                <name>TestJobB</name>
                <job-name>TestJobB</job-name>
                <cron-expression>0 0/5 * 1/1 * ? *</cron-expression>
            </cron>
        </trigger>
    </schedule>

</job-scheduling-data>

下面是我现在正在使用的 quartz.properties 文件 -

------------------------- Threads --------------------------- #
# How many jobs can run at the same time?
org.quartz.threadPool.threadCount=10

# ----------------------------- Plugins --------------------------- #
# Class to load the configuration data for each job and trigger.
# In this example, the data is in an XML file.
org.quartz.plugin.jobInitializer.class=org.quartz.plugins.xml.XMLSchedulingDataProcessorPlugin
org.quartz.plugin.jobInitializer.fileNames = quartz_data.xml 
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

我的问题是 - 我是否应该在我的 quartz.properties 文件中使用任何其他属性,以便从quartz框架的角度获得更好的性能。我是第一次使用它,所以只是想确定我的 quartz 是否应该使用更好的属性。

最佳答案

有关最佳实践,您可以查看 quartz.org/Best Practices关于quartz.properties 有另一个链接 quartz.org/Main Scheduler

性能与您的环境和可用资源直接相关,我建议查看此文档并选择更适合您的应用程序的配置。

关于java - 如何在Web应用程序中高效地使用quartz框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28447092/

相关文章:

java - Spring Boot 升级到 2.1.1 时出现传递依赖错误

spring - 没有 'org.springframework.batch.core.Job' 类型的合格 bean 可用 : expected single matching bean but found 2:

java - Spring不解析具有相同URL前缀的JSP和JSON

java - 无法解析完成方法——从 Android Studio 方法调用

java - 从 Java 调用 Python 代码的问题(不使用 jython)

java - RxJava 从 Observable 更新数据

java - 如何使用Spring更新mongodb文档中的特定字段?

java - 使用依赖于 Spring Security 的 JUnit 测试 Spring Controller

java - 将带有路径变量的字符串返回到另一个 Controller

java - 分离列表适配器上的 onclicklistener