1. 程式人生 > >定時任務的配置檔案:quarz.properties

定時任務的配置檔案:quarz.properties

#排程器屬性:使用StdSchedulerFactory的 getScheduler()方法建立的scheduler例項名稱,在同一個程式中可以根據該名稱來區分scheduler。如果實在叢集環境中使用,你必須使用同一個名稱——叢集環境下”邏輯”相同的scheduler。
org.quartz.scheduler.instanceName: DefaultQuartzScheduler
#排程器屬性:如果希望Quartz Scheduler通過RMI作為伺服器匯出本身,則將“rmi.export”標誌設定為true。Java RMI用於不同虛擬機器之間的通訊,這些虛擬機器可以在不同的主機上、也可以在同一個主機上;一個虛擬機器中的物件呼叫另一個虛擬上中的物件的方法,只不過是允許被遠端呼叫的物件要通過一些標誌加以標識。
org.quartz.scheduler.rmi.export: false
#排程器屬性:如果要連線(使用)遠端服務的排程程式,則將“org.quartz.scheduler.rmi.proxy”標誌設定為true。您還必須指定RMI登錄檔程序的主機和埠 - 通常是“localhost”埠1099。
org.quartz.scheduler.rmi.proxy: false
#排程器屬性:如果想使用Quartz在執行一個job前使用UserTransaction,則應該設定該屬性為true。job執行完、在JobDataMap改變之後事務會提交。預設值是false。 可以在你的job類中使用 @ExecuteInJTATransaction註解, 可以控制job是否使用事務。
org.quartz.scheduler.wrapJobExecutionInUserTransaction: false
#執行緒池屬性:執行緒池的實現類(一般使用SimpleThreadPool即可滿足幾乎所有使用者的需求)
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
#執行緒池屬性:指定執行緒數,至少為1(無預設值)(一般設定為1-100直接的整數合適)
org.quartz.threadPool.threadCount: 40
#執行緒池屬性:設定執行緒的優先順序(最大為java.lang.Thread.MAX_PRIORITY 10,最小為Thread.MIN_PRIORITY 1,預設為5)
org.quartz.threadPool.threadPriority: 5
#執行緒池屬性:建立父執行緒
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true
#執行緒池屬性:最大作業延遲時間(毫秒)
org.quartz.jobStore.misfireThreshold: 60000
#RAMJobStore用於儲存記憶體中的排程資訊(jobs,Triggers和日曆)。RAMJobStore快速輕便,但是當程序終止時,所有排程資訊都會丟失。
org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore
#載入 Job 和 Trigger 資訊的類 org.quartz.plugin.jobInitializer.class:com.test.quartz.DmXMLSchedulerProcessorPlugin
#指定存放排程器(Job 和 Trigger)資訊的xml檔案,預設是classpath下quartz_jobs.xml  
org.quartz.plugin.jobInitializer.fileNames: quartz_jobs.xml org.quartz.plugin.jobInitializer.failOnFileNotFound: true

在同一個配置檔案中為’org.quartz.scheduler.rmi.export’和’org.quartz.scheduler.rmi.proxy’指定一個’true’值是沒有意義的 - 如果你這樣做,'export '選項將被忽略。如果您沒有通過RMI使用Quartz,則“export”和“proxy”屬性的值“false”當然是有效的。

quartz_jobs.xml

<?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="2.0">
    <schedule>
        <job>
            <name>parseTaskJob</name>
            <group>taskGroup</group>
            <description>
                通過配置檔案來執行job任務
            </description>
            <job-class>
                com.test.quartz.job.InitJob
            </job-class>
            <durability>false</durability>
            <recover>false</recover>
        </job>
        <trigger>
            <simple>
                <name>parseTaskTrigger</name>
                <group>taskGroup</group>
                <job-name>parseTaskJob</job-name>
                <job-group>taskGroup</job-group>
                <start-time>2018-12-15T14:37:00</start-time>
                 <repeat-count>0</repeat-count>
                <repeat-interval>0</repeat-interval>
            </simple>
        </trigger>
        </schedule>
</job-scheduling-data>