我想同時運行一些線程,它會定期執行給定的可運行任務。每個線程都有自己的Runnable
任務實例。java.util.concurrent.ScheduledThreadPoolExecutor的彈簧版本
我找到了java.util.concurrent.ScheduledThreadPoolExecutor
這似乎滿足我的要求。
是否存在提供相同功能的任何Spring類?如果是的話,哪一個更好用。
感謝
Jitendra
我想同時運行一些線程,它會定期執行給定的可運行任務。每個線程都有自己的Runnable
任務實例。java.util.concurrent.ScheduledThreadPoolExecutor的彈簧版本
我找到了java.util.concurrent.ScheduledThreadPoolExecutor
這似乎滿足我的要求。
是否存在提供相同功能的任何Spring類?如果是的話,哪一個更好用。
感謝
Jitendra
http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/scheduling/concurrent/ThreadPoolTaskScheduler.html是我想要的。這是一個圍繞java.util.concurrent.ScheduledThreadPoolExecutor
的包裝。
你可能想看看Spring的org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
。參考文檔有一個good example。
Spring Batch允許根據cron字符串調用方法。
Spring Quartz schedular提供了您正在查找的java.util.concurrent.ScheduledThreadPoolExecutor
功能。參考
22.2.2。使用MethodInvokingJobDetailFactoryBean和 22.2.3。使用觸發器和SchedulerFactoryBean連接作業以獲取詳細信息@
Chapter 22. Scheduling jobs using Quartz or Timer。 我們在其中一個項目中使用cron表達式以固定間隔安排作業。如果上一個作業仍在運行,您還可以限制同時啓動作業。
ThreadPoolTaskExecutor似乎只執行一次任務。我想安排它定期執行。我剛剛發現org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler 似乎有這些功能。 任何人都可以請給我一些比較兩者之間。 – RandomQuestion
執行此操作的一種方法是使用@ Scheduled註釋一個方法,並在您的任務執行器上以編程方式調用execute。 'ThreadPoolTaskScheduler'可以讓你定義一個cron表達式來定期運行一個線程輪詢執行器。 ThreadPoolTaskExecutor只是使用線程池執行任務。 –