2014-01-21 48 views
1

我需要一些協助來實現與其他處理並行運行的調度程序。我在網絡上搜索了很多我的搜索結果,發現quartz scheduler。但是,我需要一些內置的並且可以與其他進程並行運行而不是任何外部庫Java中的調度程序

我使用scheduleAtFixedRate進行了檢查。但是,這並不適用於並行執行。

任何人都可以請在這方面建議?我的要求是,在服務器啓動後不久,java函數必須以固定間隔運行。這將通過servlet start來知道,我將不得不在init()中啓動調度器。

+0

石英很棒。 –

+0

「並行執行」意味着什麼?執行程序可以配置爲執行此操作,AFAIK。 – Fildor

+1

你說的是Servlet,所以我猜你有點使用JEE。爲什麼不使用EJB計時器服務? http://docs.oracle.com/javaee/7/tutorial/doc/ejb-basicexamples004.htm –

回答

4

我的要求是,Java函數具有服務器啓動

+0

嗨,1.可以使用java.util.timer進行併發嗎? 2.我不希望在我的源代碼中使用任何外部庫,因此石英不是當然的選擇。我檢查了它。正如我在問題本身中提到的那樣。 –

+1

是的,Timer將產生一個新的線程(同時執行)。根據要求,我提到石英只是一個附加選項。如果你沒有這樣的要求去執行或計時器。 –

+0

您能否詳細說明定時器?需要一些例子,我在網上找不到足夠的東西。 –

0

我建議你定義一個ServletContextListener,並開始從contextInitialized方法Quartz調度。

contextInitialized在應用程序服務器上的應用程序部署/重裝上調用,因此您的調度程序可以初始化爲soon after the server starts

+0

在這種情況下,我不希望使用任何外部庫。你能否建議我在Java中內置一些東西,並可以用於我的要求? –