2016-07-13 87 views
0

我有一對使用Java DSL和Spring創建的Apache Camel路由。臨時執行Apache Camel路由

@Bean 
public CamelContext camelContext() throws Exception { 
    CamelContext camelContext = new DefaultCamelContext(); 
    camelContext.addRoutes(route1bean()); 
    ... 
    camelContext.start(); 
    return camelContext; 
} 

這些路由使用quartz2組件進行調度,一切按預期工作。

但是,作業可能在運行時出錯,並且需要手動重試它們。我正在尋找一種方法來使用hawtio或以Java代碼手動執行路由。

回答

1

是的,使用jconsole。駱駝暴露了許多馬巴人。你可以使用它們來啓動和停止。當然,您也可以使用Hawtio來做同樣的事情。

更新基於您的評論:

我得到你的意思,這是我採取的辦法。創建3條路線。 2個輕量級路由 - 路由A與簡單文件從端點,路由B與Cron和路由C與直接:bla從端點,其中包含實際的業務邏輯。這樣,您可以隨時觸發路由A,路由C通用,而不管路由B何時由cron觸發。

+0

我知道'start'和'stop'的功能。 'stop'會從上下文中刪除路由,'start'會用相同的cron重新註冊路由。在這種情況下,我希望能夠調用/觸發路線,而不考慮'cron' – n002213f

+0

我已經更新了答案,看看它是否對您有所幫助。祝你好運。 – gnanagurus

相關問題