Amazon MQ 子元素屬性 - Amazon MQ

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon MQ 子元素屬性

以下是子元素屬性的詳細說明。如需詳細資訊,請參閱 Apache ActiveMQ 文件中的 XML 組態

authorizationEntry

authorizationEntryauthorizationEntries 子集合元素的子項。

屬性

管理|讀取|寫入

授予使用者群組的許可。如需更多詳細資訊,請參閱 一律設定授權映射

如果您指定的授權映射不包含 activemq-webconsole 群組,您便無法使用 ActiveMQ Web 主控台,因為該群組未獲授權傳送或接收來自 Amazon MQ 代理程式的訊息。

預設null

範例組態

<authorizationPlugin> <map> <authorizationMap> <authorizationEntries> <authorizationEntry admin="admins,activemq-webconsole" read="admins,users,activemq-webconsole" write="admins,activemq-webconsole" queue=">"/> <authorizationEntry admin="admins,activemq-webconsole" read="admins,users,activemq-webconsole" write="admins,activemq-webconsole" topic=">"/> </authorizationEntries> </authorizationMap> </map> </authorizationPlugin>

networkConnector

networkConnectornetworkConnectors 子集合元素的子項。

屬性

conduitSubscriptions

指定代理程式網路中的網路連線,是否將訂閱同一個目的地的多個使用者視為一個使用者。例如,如果 conduitSubscriptions 設定為 true,有兩個使用者連線到代理程式 B,並且從目的地使用,則代理程式 B 會透過網路連線,將這些訂閱合併為邏輯上對代理程式 A 的單一訂閱,因此只有一份訊息會從代理程式 A 轉傳到代理程式 B。

注意

conduitSubscriptions 設定為 true 可減少重複的網路流量。不過,使用此屬性可能會影響到使用者之間的訊息負載平衡,而且可能會在某些情境中 (例如,使用 JMS 訊息選取器或持久的主題) 造成錯誤的行為。

預設true

雙工

指定代理程式網路中的連線,是否用來產生使用訊息。例如,如果代理程式 A 以非雙工模式建立至代理程式 B 的連線,則訊息只能從代理程式 A 轉傳到代理程式 B。不過,如果代理程式 A 建立至代理程式 B 的雙工連線,則代理程式 B 可以將訊息轉傳給代理程式 A,而不需設定 <networkConnector>

預設false

name

代理程式網路中橋接器的名稱。

預設bridge

uri

在代理程式網路中,適用於兩個代理程式其中之一 (或多個代理程式) 的線路通訊協定端點。

預設null

username

代理程式網路內代理程式共同的使用者名稱。

預設null

範例組態

注意

使用 networkConnector 來定義代理程式網路時,請不要包含代理程式共同使用者的密碼。

包含兩個代理程式的代理程式網路

使用此組態時,兩個代理程式會在代理程式網路中互連。網路連接器的名稱為 connector_1_to_2、代理程式共同的使用者名稱為 myCommonUser、連線為 duplex,而且 OpenWire 端點 URI 會加上 static: 前綴,表示代理程式之間的一對一連線。

<networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

如需更多詳細資訊,請參閱 Configure Network Connectors for Your Broker

包含多個代理程式的代理程式網路

使用此組態時,多個代理程式會在代理程式網路中互連。網路連接器的名稱為 connector_1_to_2、代理程式共同的使用者名稱為 myCommonUser、連線為 duplex,而且 OpenWire 端點 URI 的逗點分隔清單,會加上 masterslave: 前綴,表示代理程式之間的容錯移轉連線。代理程式之間的容錯移轉並非隨機進行,而且會無限期地持續重新嘗試連線。

<networkConnectors> <networkConnector name="connector_1_to_2" userName="myCommonUser" duplex="true" uri="masterslave:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617, ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>
注意

我們建議針對代理程式網路使用 masterslave: 前綴。此前綴與更明確的 static:failover:()?randomize=false&maxReconnectAttempts=0 語法相同。

注意

此 XML 組態不允許使用空格。

kahaDB

kahaDBpersistenceAdapter 子集合元素的子項。

屬性

concurrentStoreAndDispatchQueues

指定是否針對佇列使用並行儲存與調配。如需更多詳細資訊,請參閱 對於具有緩慢消費者的佇列,停用並行存放和分派

預設true

cleanupOnStop

支援於

Apache ActiveMQ 15.16.x 及更新版本

若已停用,廢棄項目收集和清理就不會發生在代理程式停止時,這會加快關機程序。在大型資料庫或排程器資料庫的情況下,提高速度非常有用。

預設true

journalDiskSyncInterval

若為 journalDiskSyncStrategy=periodic,要在何時執行磁碟同步的間隔 (毫秒)。如需詳細資訊,請參閱 Apache ActiveMQ kahaDB 文件

預設1000

journalDiskSyncStrategy

支援於

Apache ActiveMQ 15.14.x 及更高版本

設定磁碟同步政策。如需詳細資訊,請參閱 Apache ActiveMQ kahaDB 文件

預設always

注意

ActiveMQ 文件會陳述資料遺失限制為 journalDiskSyncInterval 的持續時間,其預設值為 1 秒。資料遺失的時間長度可大於此間隔,但很難保持精確。請謹慎使用。

preallocationStrategy

設定代理程式將如何嘗試在需要新日誌檔案時,預先配置日誌檔案。如需詳細資訊,請參閱 Apache ActiveMQ kahaDB 文件

預設sparse_file

範例組態

<broker xmlns="http://activemq.apache.org/schema/core"> <persistenceAdapter> <kahaDB preallocationStrategy="zeros" concurrentStoreAndDispatchQueues="false" journalDiskSyncInterval="10000" journalDiskSyncStrategy="periodic"/> </persistenceAdapter> </broker>

systemUsage

systemUsagesystemUsage 子集合元素的子項。它可控制代理程式在減慢生產者速度前將使用的空間量上限。如需詳細資訊,請參閱 Apache ActiveMQ 文件中的生產者流程控制

子元素

memoryUsage

memoryUsagesystemUsage 子元素的子項。它可管理記憶體用量。使用 memoryUsage 追蹤某個項目的使用量,以便發揮生產力來控制工作集用量。如需詳細資訊,請參閱 Apache ActiveMQ 中的結構描述

子元素

memoryUsagememoryUsage 子元素的子項。

屬性
percentOfJvmHeap

介於 0 (包含在內) 到 70 (不包含在內) 之間的整數。

預設70

屬性

sendFailIfNoSpace

設定在沒有可用空間的情況下 send() 方法是否應失敗。預設值為 false,這會封鎖 send() 方法,直到有空間可用為止。如需詳細資訊,請參閱 Apache Active MQ 中的結構描述

預設false

sendFailIfNoSpaceAfterTimeout

預設null

範例組態

<broker xmlns="http://activemq.apache.org/schema/core"> <systemUsage> <systemUsage sendFailIfNoSpace="true" sendFailIfNoSpaceAfterTimeout="2000"> <memoryUsage> <memoryUsage percentOfJvmHeap="60" /> </memoryUsage>> </systemUsage> </systemUsage> </broker> </persistenceAdapter>