2017-09-07 150 views
-2

我有一個紅寶石方法紅寶石時間以毫秒秒

def generate_CurrentDateTime() 
      puts "Generating current date and time"; 
      dateTimeObj = Time.now();  
      dateTimeObj.year.to_s + dateTimeObj.month.to_s + dateTimeObj.day.to_s + 
      dateTimeObj.hour.to_s + dateTimeObj.min.to_s + dateTimeObj.sec.to_s; 
end 

我想在此嘗試millis.to_s添加毫秒和ms.to_s都是不正確,請幫助

我已經富爾德替代解決方案

def generate_CurrentDateTime() 
     puts "Generating current date and time";  
     Time.now.strftime('%Y%m%d%H%M%S%L'); 
end 

但我想知道是否有任何直接的方法可用。

+0

可以請你添加路由文件端點 – dimitrisli

+0

DefaultShutdownStrategy會盡量讓現有的交流,運行完成(在可行的情況下),同時拒絕新消息。當系統具有一定的負載水平時,這可以實現合理的乾淨關閉。但是,如果這些交換沒有在特定的時間完成,默認的關閉會殺死具有活動交換的路由。當駱駝被用作一些大型系統的一部分時,通常不可能讓交易所停止,只要他們願意完成 - 如果他們沒有完成默認的五分鐘,他們可能永遠不會。我理解了這個問題嗎? –

回答

0

默認關閉的策略是正常完成所有飛行任務,這意味着批次的消費者(如文件消費者)將完成處理,直到最終路由的後續步驟,但不會處理在多個項目因爲那可能是永遠的。只有進行中的任務消息纔會完成。

,如果你知道它最終將與ShutdownRunningTask.CompleteAllTask​​s參數完成您可以重寫此行爲:

 public void configure() throws Exception { 
      from(url).routeId("foo").noAutoStartup() 
       // let it complete all tasks during shutdown 
       .shutdownRunningTask(ShutdownRunningTask.CompleteAllTasks) 
       .process(new MyProcessor()) 
       .to("mock:bar"); 
     }