我已經通過文件看,以及提出了許多谷歌試圖瞭解,但到目前爲止,我已經拿出空手而歸:如何根據優先級設置運行批處理作業?
1)是否存在,讓我實現以下可設置的參數?如果有,我該如何配置它?
我想設置批處理作業,以便除了「正常」優先級之外,我還可以選擇運行「高」優先級作業,以排擠其他人。在「正常」的優先工作中,FIFO是好的。我想持續記錄已提交的作業及其狀態,最好是自動重試失敗。
我正在使用Spring-Batch 3.0.3,特別是Spring 4.0.6。我從JBoss AS 7.1.1服務器上的webservice提交作業。 2)如果沒有開箱即用的實現,我可以寫些什麼(taskExecutor?)來實現這個目標嗎?我該怎麼做呢?
我得到了建議的ThreadPoolExecutor來工作,但Job類仍然棘手,因爲我找不到指定作業類的位置。 (出於各種原因,我使用jXML進行配置,而不是使用註釋進行編程)。無論我做什麼,部署都會繼續使用org.springframework.batch.core.job.flow.FlowJob,然後才能不會轉換爲不同的工作班級。
謝謝,這是更多或更少的我在想什麼,但我不知道我能建的PriorityBlockingQueue到執行者。到目前爲止,我使用的是org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor,主要是因爲它在Spring Batch文檔中提到。 – lepome
我想我現在唯一關心的是java.util.concurrent.ThreadPoolExecutor是否會「與其他人一起玩」。我正在添加一個相當大的應用程序,並且我對整合很感興趣。我意識到我的另一個問題是我試圖讓錯誤的類Comparable。 (現在,如果我只能找出評論編輯器,我會很有用。) – lepome
ThreadPoolExecutor是相當常用的。請注意,PriorityBlockingQueue是無界的,因此如果Runnable對於非常大的對象是長時間運行的,那麼您可能需要一個信號量來控制您排隊的數量。 – spudone