簡體   English   中英

定期調用Java Web Service方法

[英]Calling Java Web Service Method In A Regular Time Period

我在tomcat 7的centos 7中有一個Java Web服務,並且我使用此服務來更新數據庫。 我需要定期調用其方法,例如:createCustomer每12小時調用一次,createOrder每3分鍾調用一次,等等。

我如何編寫此觸發器以及該代碼在同一服務器或其他地方運行的位置

您可以嘗試一下石英調度程序。 在這里您可以找到有關該主題的更多信息:

http://quartz-scheduler.org/generated/2.2.1/html/qs-all/#page/Quartz_Scheduler_Documentation_Set/_qs_all.1.009.html#

簡而言之,您可以定義一個xml文件,說明哪個任務將在哪種條件(或時間范圍)下工作。 在下面的示例中:

    <!-- Order Recorder Job -->
    <bean id="orderRecorderJob" class="com.cemgunduz.btcenter.job.OrderRecorderJob"/>
    <bean id="orderTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="orderRecorderJob"/>
        <property name="targetMethod" value="execute"/>
    </bean>

    <bean id="orderRecorderJobTrigger"
          class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="orderTask" />
        <property name="cronExpression" value="0 0/5 * * * ?" />
    </bean>

定義了一個名為orderTask的任務,這是orderRecorderJob中的execute方法。 該任務與cron表達式相關聯,從而定義了觸發器。 因此,總而言之,上面的示例將按其cron表達式(0 0/5 * * *?)中所述,每五分鍾觸發一次orderRecorderJob類的execute方法。 有關cron表達式語法的更多信息:

http://www.quartz-scheduler.org/documentation/quartz-1.x/tutorials/crontrigger

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM