2012-09-17 58 views
2

我正在編寫需要能夠處理異常(使用死信隊列來存儲稍後重試消息)的Camel應用程序(在ServiceMix v4.4.2中運行),並且能夠啓動如果硬件死亡,它會停止。我想我需要混合交易和錯誤處理程序,但我不確定如何開始。使用事務處理駱駝異常處理

任何意見或指向相關教程將是偉大的。

回答

2

您可以在我的教程看一看: http://www.liquid-reality.de/x/JgBz

這是不是你正在尋找什麼,但類似。它演示瞭如何創建交易路線以及如何爲其設置jms。區別在於教程路由以jpa組件開始。所以我會向大家介紹如何用jms做到這一點。

對於帶有死信隊列的jms,您可以執行一個發送到死亡lettter隊列的onException子句。這涵蓋了駱駝能夠處理這個問題的情況。在發生硬件故障的情況下,jms事務將被回滾,並且消息將保留在原始隊列中,並在路由再次出現時重試。理想情況下,您還可以在n次重試後將您的jms提供程序設置爲發送到死信隊列。這可以解決由於某種原因郵件總是被回滾的情況。