我在NetBeans中有一個Java /數據庫項目,我想在設定的時間每天運行一次。我正在使用Derby作爲數據庫驅動程序。我正試圖自動化一個過程。Java /數據庫項目自動化
- 我該如何'安排'該程序在指定的時間運行?
- 我如何定製這個以保持運行直到符合某個標準?
說我的標準是它必須在數據庫中填充500行。 (因此,在它運行的預定時間說,它只能填充400行,那麼也許2個小時後它會嘗試再次運行,填補了最後的100行)
- 最後,什麼是自動化的最佳實踐和計劃任務?
我在NetBeans中有一個Java /數據庫項目,我想在設定的時間每天運行一次。我正在使用Derby作爲數據庫驅動程序。我正試圖自動化一個過程。Java /數據庫項目自動化
說我的標準是它必須在數據庫中填充500行。 (因此,在它運行的預定時間說,它只能填充400行,那麼也許2個小時後它會嘗試再次運行,填補了最後的100行)
我該如何「安排」此程序在指定的時間運行?
根據您的操作系統,這可以通過兩種方式之一完成 - 編寫一個按需要的時間間隔啓動java程序的作業。然後你可以把這項工作掛鉤起步。
在Linux中,您可以使用cron作業等完成此操作。在Windows上,你可以參考這個http://support.microsoft.com/kb/308569。
您也可以使用http://quartz-scheduler.org或http://www.sauronsoftware.it/projects/cron4j/將調度程序編程到您的java程序中。
我如何定製這個以保持運行直到滿足特定條件?
這可能是從您的程序中最好建立,雖然很難給你方向沒有太多的信息。
最後,自動化和計劃任務的最佳實踐是什麼?
根據您的應用程序體系結構,可以在應用程序內處理調度和自動化,也可以從操作系統獲得支持。標準取決於應用程序需要多少控制,哪個平臺使調度更容易等。
希望這有助於。
Quartz是Java的調度項目。我在很多項目中使用過它,並發現它非常直觀。
無論如何,它可能會稍微超過你的背後,但值得一看。
您可以使用定時器的調度&事件/任務必須使用的TimerTask
是石英自由實現的事件?它看起來像我只能得到一個30天的試用 – CodeKingPlusPlus
我相信石英調度程序是在Apache許可證2.0版下。不幸的是,我沒有資格就天氣提出建議,意味着您可以在商業分佈式代碼中自由使用它。 –