

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

# Amazon MQ 子元素屬性
<a name="child-element-details"></a>

以下是子元素屬性的詳細說明。如需詳細資訊，請參閱 Apache ActiveMQ 文件中的 [XML 組態](http://activemq.apache.org/xml-configuration.html)。

**Topics**
+ [authorizationEntry](#authorizationEntry)
+ [networkConnector](#networkConnector)
+ [kahaDB](#kahaDB)
+ [systemUsage](#systemUsage)

## authorizationEntry
<a name="authorizationEntry"></a>

`authorizationEntry` 是 `authorizationEntries` 子集合元素的子項。

### 屬性
<a name="admin-read-write-attributes"></a>

#### 管理\$1讀取\$1寫入
<a name="admin-read-write"></a>

授予使用者群組的許可。如需詳細資訊，請參閱[一律設定授權映射](using-amazon-mq-securely.md#always-configure-authorization-map)。

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

**預設**：`null`

### 範例組態
<a name="admin-read-write-example"></a>

```
<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>
```

**注意**  
 Amazon MQ 上 ActiveMQ 中的 `activemq-webconsole`群組具有所有佇列和主題的管理員許可。此群組中的所有使用者都將擁有管理員存取權。

## networkConnector
<a name="networkConnector"></a>

`networkConnector` 是 `networkConnectors` 子集合元素的子項。

**Topics**
+ [屬性](#networkConnector-attributes)
+ [範例組態](#networkConnector-example)

### 屬性
<a name="networkConnector-attributes"></a>

#### conduitSubscriptions
<a name="conduitSubscriptions"></a>

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

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

**預設**：`true`

#### 雙工
<a name="duplex"></a>

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

**預設**：`false`

#### name
<a name="name"></a>

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

**預設**：`bridge`

#### uri
<a name="uri"></a>

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

**預設**：`null`

#### 使用者名稱
<a name="username"></a>

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

**預設**：`null`

### 範例組態
<a name="networkConnector-example"></a>

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

#### 包含兩個代理程式的代理程式網路
<a name="example-network-of-brokers-two-brokers"></a>

使用此組態時，兩個代理程式會在代理程式網路中互連。網路連接器的名稱為 `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>
```

如需詳細資訊，請參閱[步驟 2：設定代理程式的網路連接器](amazon-mq-creating-configuring-network-of-brokers.md#creating-configuring-network-of-brokers-configure-network-connectors)。

#### 包含多個代理程式的代理程式網路
<a name="example-network-of-brokers-multiple-brokers"></a>

使用此組態時，多個代理程式會在代理程式網路中互連。網路連接器的名稱為 `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-west-2.amazonaws.com:61617)"/>
                                    </networkConnectors>
```

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

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

## kahaDB
<a name="kahaDB"></a>

`kahaDB` 是 `persistenceAdapter` 子集合元素的子項。

### 屬性
<a name="kahaDB-attributes"></a>

#### concurrentStoreAndDispatchQueues
<a name="concurrentStoreAndDispatchQueues"></a>

指定是否針對佇列使用並行儲存與調配。如需詳細資訊，請參閱[對於具有緩慢消費者的佇列，停用並行存放和分派](best-practices-activemq.md#disable-concurrent-store-and-dispatch-queues-flag-slow-consumers)。

**預設**：`true`

#### cleanupOnStop
<a name="cleanupOnStop"></a>

**支援於**  
Apache ActiveMQ 15.16.x 及更新版本

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

**預設**：`true`

#### journalDiskSyncInterval
<a name="journalDiskSyncInterval"></a>

若為 `journalDiskSyncStrategy=periodic`，要在何時執行磁碟同步的間隔 (毫秒)。如需詳細資訊，請參閱 [Apache ActiveMQ kahaDB 文件](https://activemq.apache.org/kahadb)。

**預設**：`1000`

#### journalDiskSyncStrategy
<a name="journalDiskSyncStrategy"></a>

**支援於**  
Apache ActiveMQ 15.14.x 及更高版本

設定磁碟同步政策。如需詳細資訊，請參閱 [Apache ActiveMQ kahaDB 文件](https://activemq.apache.org/kahadb)。

**預設**：`always`

**注意**  
[ActiveMQ 文件](https://activemq.apache.org/kahadb)會陳述資料遺失限制為 `journalDiskSyncInterval` 的持續時間，其預設值為 1 秒。資料遺失的時間長度可大於此間隔，但很難保持精確。請謹慎使用。

#### preallocationStrategy
<a name="preallocationStrategy"></a>

設定代理程式將如何嘗試在需要新日誌檔案時，預先配置日誌檔案。如需詳細資訊，請參閱 [Apache ActiveMQ kahaDB 文件](https://activemq.apache.org/kahadb)。

**預設**：`sparse_file`

### 範例組態
<a name="kahaDB-example"></a>

**Example**  

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

## systemUsage
<a name="systemUsage"></a>

`systemUsage` 是 `systemUsage` 子集合元素的子項。它可控制代理程式在減慢生產者速度前將使用的空間量上限。如需詳細資訊，請參閱 Apache ActiveMQ 文件中的[生產者流程控制](http://activemq.apache.org/producer-flow-control.html)。

### 子元素
<a name="systemUsage-child"></a>

#### memoryUsage
<a name="memoryUsage"></a>

 `memoryUsage` 是 `systemUsage` 子元素的子項。它可管理記憶體用量。使用 `memoryUsage` 追蹤某個項目的使用量，以便發揮生產力來控制工作集用量。如需詳細資訊，請參閱 Apache ActiveMQ 中的[結構描述](http://activemq.apache.org/schema/core/activemq-core-5.15.12-schema.html)。

##### 子元素
<a name="memoryUsage-child"></a>

 `memoryUsage` 是 `memoryUsage` 子元素的子項。

##### 屬性
<a name="memeoryUsage-attribute"></a>

##### percentOfJvmHeap
<a name="percentOfJvmHeap"></a>

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

*預設*：`70`

### 屬性
<a name="systemUsage-attributes"></a>

#### sendFailIfNoSpace
<a name="sendFailIfNoSpace"></a>

設定在沒有可用空間的情況下 `send()` 方法是否應失敗。預設值為 false，這會封鎖 `send()` 方法，直到有空間可用為止。如需詳細資訊，請參閱 Apache Active MQ 中的[結構描述](http://activemq.apache.org/schema/core/activemq-core-5.15.12-schema.html)。

**預設**：`false`

#### sendFailIfNoSpaceAfterTimeout
<a name="sendFailIfNoSpaceAfterTimeout"></a>

**預設**：`null`

#### 範例組態
<a name="systemUsage-example"></a>

**Example**  

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