執行階段組態
從 5.9.0 版本開始,新的 Broker 外掛程式允許在不重新啟動 Broker 的情況下,選擇性地變更 Broker XML 組態並使其生效。
考量一個零售環境,其中有中央處理器(樞紐)和商店(輻射)。能夠新增一家新商店會很有優勢
而不需要任何停機時間。
新增一家新商店可能需要一個新的網路連接器和一些新的授權策略,而這兩者現在都可以動態修改。
該外掛程式是透過 Broker XML 組態進行配置的,如下所示
<broker xmlns="https://activemq.dev.org.tw/schema/core" start="false" ... >
<plugins>
<runtimeConfigurationPlugin checkPeriod="1000" />
</plugins>
...
</broker>
注意:start="false"
屬性。它確保 xbean-spring 在載入應用程式內容時不會自動啟動 Broker。
這確保了外掛程式對 Broker 的引用在被使用之前已完全初始化,並且可以成功解析 XML 組態的位置。
當 checkPeriod > 0 時,它是檢查 Broker XML 組態 URL 的 lastupdate 時間戳記變更之間的時間(以毫秒為單位)。
如果 checkPeriod 為 0 (預設值),則不會自動檢查變更,但可以透過 JMX 手動觸發檢查。
支援執行階段修改的組態元素
<networkConnectors>
<destinationPolicy><policyMap><policyEntries>
<plugins><authorizationPlugin><map><authorizationMap><authorizationEntries>
<destinationInterceptors><virtualDestinationInterceptor><virtualDestinations>
更多實作細節和測試連結可以在 AMQ-4682 中找到