2011-11-07 49 views
1

我想爲我自己構建的自定義組件定義某種「重試策略」,這意味着組件的初始化功能會重試。Mule Community Edition和Blocking重試策略

這是由一些XML標籤(重試策略??)支持,還是我必須在初始化函數本身內部實現重試? (這意味着我將不得不處理線程和東西,如果我想處理它像EE版本的「阻塞」屬性)

並假設有某種重試嘗試 - 如果組件會發生什麼仍然試圖在入站端點事件被觸發時重新初始化? (或將端點未註冊,直到流管理啓動組件?)

如果我不是很明顯 - 這是簡單的例子:

<flow> 
    <quartz:inbound-endpoint jobName="eventTimer"> 
    <quartz:event-generator-job /> 
    </quartz:inbound-endpoint> 

    <component> 
     <singleton-object class="com.SomeComponent" /> 
    </component> 

    <vm:outbound-endpoint path="ChatMsgs" 
     exchange-pattern="one-way" /> 
</flow> 

我想設置一個「非阻止「組件的重試策略,並且我希望在組件能夠初始化之前不要啓動流程,這是否要求過多的騾子? :)

在此先感謝

回答

0

Non-blocking retry policies are now part of CE(自3.2.0)。

爲了讓您的組件與Mule的生命週期和重試策略集成,我建議您使用DevKit將其開發爲Mule模塊(請參閱http://blogs.mulesoft.org/introducing-the-new-devkit/中的「Mule的生命週期支持」)。雖然作爲「API連接器工具包」銷售,但DevKit的方式更多的東西...

當然,這將使您的組件mule具體,但有利於使其成爲穆勒的基礎設施的一流公民。