2016-11-10 17 views
1

我正在使用Spring調度程序和JMS,哪一個會是更好的調度方法。哪一個選擇Betweeen Spring調度器和JMS?它們之間的區別

@Service 
public class ScheduledProcessor implements Processor { 

    private final AtomicInteger counter = new AtomicInteger(); 

    @Autowired 
    private Worker worker; 

    @Scheduled(fixedDelay = 30000) 
    public void process() { 
     System.out.println("processing next 10 at " + new Date()); 
     for (int i = 0; i < 10; i++) { 
      worker.work(counter.incrementAndGet()); 
     } 
    } 
} 

回答

0

這些解決方案是根本不同的。

計劃服務在上次運行後每隔n毫秒啓動一次,並處理任何可用的操作。不能保證及時處理,並且如果要處理的數據量增加(並且處理具有複雜度),則可能無法擴展。

我傾向於傾向於JMS。首先,消息在進入時被處理,推送給聽衆,而不是像服務中那樣進行輪詢。其次,如果有必要,您可以縮放水平和垂直信息,爲您提供更多旋鈕,以確保實際處理不會壓倒應用程序。

基本問題可能是:您的要求是什麼?

相關問題