Sun Java System Message Queue 3.7 UR1 管理指南

第 3 部分 參照

第 13 章 指令行參照

本章提供使用 Message QueueTM 指令行管理公用程式的參考資訊。包含下列各節:

指令行語法

Message Queue 指令行公用程式是 Shell 指令。公用程式名稱是一個指令,其子指令或選項是傳給指令的引數。個別的指令不需要啟動或退出公用程式。

所有指令行公用程式共用以下指令語法:

   utilityName [subcommand] [commandArgument] [ [-optionName [optionArgument]]…]

其中,utilityName 是以下其中之一:

子指令與指令層級引數 (若有) 必須處於所有選項及其引數之前;但選項的顯示順序可隨意。以空格分隔所有子指令、指令引數、選項和選項引數。如果選項引數的值包含空格,就必須將整個值括在引號內。(通常最為安全的方式,就是將所有成對的屬性值都括在引號內。)

以下指令可啟動預設代理程式,是沒有子指令子句的指令行範例:

   imqbrokerd

此為更完整的範例:

   imqcmd  destroy dst  -t q  -n myQueue  -u admin  -f  -s

此指令會銷毀名稱為 myQueue 的佇列目標 (目標類型 q)。對於使用者名稱 admin 會執行認證;該指令會提示您輸入密碼。該指令以無訊息模式執行,將不會提示您確認 (-f 選項),亦不會顯示任何輸出 (-s 選項)。

代理程式公用程式

代理程式公用程式 (imqbrokerd) 可啟動代理程式。指令行選項可置換代理程式配置檔案中的值,但僅限於目前的代理程式階段作業。

表 13–1 顯示 imqbrokerd 指令的選項,以及每個選項所置換的配置特性 (若有)。

表 13–1 代理程式公用程式選項

選項 

被置換的特性 

說明 

-name instanceName

imq.instancename

代理程式的實例名稱

在同一台主機上執行的多個代理程式實例,必須擁有不同的實例名稱。 

預設值:imqbroker

-port portNumber

imq.portmapper.port

代理程式連接埠對映器的連接埠號

Message Queue 用戶端可使用此連接埠號連線至代理程式。在同一台主機上執行的多個代理程式實例,必須擁有不同的連接埠對映器連接埠號。 

預設值:7676

-cluster broker1 [ [ , broker2 ]…]

imq.cluster.brokerlist

將代理程式連線至叢集 [僅適用於代理程式叢集。]

指定的代理程式會與 imq.cluster.brokerlist 特性中的清單合併。每個代理程式引數的格式如下

    hostName: portNumber


    hostName


    :portNumber


如果省略 hostName,則預設值為 localhost;如果省略 portNumber,則預設值為 7676

-Dproperty= value

實例配置檔案中的對應特性 

設定配置特性 

請參閱第 14 章, 代理程式特性參照,以取得代理程式配置特性的相關資訊。

注意:請仔細檢查使用此選項設定的特性的拼寫與格式。不正確的值會被忽略,不會另行通知或警告。

-reset props

無 

重設配置特性 

以空白檔案替代代理程式現有的實例配置檔案 ( config.properties);所有特性皆為預設值。

-reset store

無 

重設永久性資料存放區 

清除資料存放區的所有永久性資料 (包括永久性訊息、長期訂閱與作業事件資訊),讓您在啟動代理程式實例時「重新來過」。若要防止在後續的重新啟動時重設永久性存放區,請不使用 -reset 選項重新啟動代理程式實例。

若只要清除永久性訊息或長期訂閱,請改用 -reset messages-reset durables

-reset messages

無 

清除資料存放區的永久性訊息 

-reset durables

無 

清除資料存放區的長期訂閱 

-backup fileName

無 

將配置變更記錄備份至檔案

如需更多資訊,請參閱管理配置變更記錄

-restore fileName

無 

從備份檔案復原配置變更記錄

此備份檔案必須已使用 -backup 選項事先建立。

如需更多資訊,請參閱管理配置變更記錄

-remove instance

無 

移除代理程式實例 [除非也指定了 -force,否則此選項會要求使用者確認。]

刪除此實例配置檔案、記錄檔、永久性存放區以及與此實例相關的其他檔案和目錄。 

-password keyPassword

imq.keystore.password

SSL 憑證金鑰庫的密碼 [此選項已經停用而且會永遠移除。請省略密碼 (將會以互動方式提示使用者輸入密碼),或使用 -passfile 選項指定包含密碼的檔案。]

-dbuser userName

imq.persist.jdbc.user

JDBC 型永久性資料存放區的使用者名稱

-dbpassword dbPassword

imq.persist.jdbc.password

JDBC 型永久性資料存放區的密碼

-ldappassword ldapPassword

imq.user_repository.ldap.password

LDAP 使用者儲存庫的密碼

-passfile filePath

imq.passfile.enabledimq.passfile. dirpathimq.passfile.name

密碼檔案的位置

將代理程式的 imq.passfile.enabled 特性設為 trueimq.passfile.dirpath 設為包含密碼檔案的路徑,而 imq.passfile.name 設為檔案名稱。

如需更多資訊,請參閱密碼檔案

-shared

imq.jms.threadpool_model

使用共用的執行緒池模型來實作 jms 連線服務。

將會在連線之間共用執行執行緒,以增加所支援的連線數目。 

將代理程式的 imq.jms.threadpool_model 特性設為 shared

-javahome path

無 

替代 Java 執行階段的位置

預設運作方式:使用安裝在系統上或是隨附於 Message Queue 的執行階段。

-vmargs arg1 [ [ arg2 ] … ]

無 

將引數傳送給 Java 虛擬機器。 

以空格分隔引數。若要傳送多個引數,或包含空格的引數,請將引數清單括在引號內。 

VM 引數只能從指令行傳送;實例配置檔案中並沒有相關的配置特性。

-license [ licenseName ]

無 

要載入的授權 (如果與已安裝的 Message Queue 產品版本的預設值不同):

    pe:具備基本功能的 Platform Edition


    try:具備企業功能的 Platform Edition (90 天試用期)


    unl:Enterprise Edition


如果未指定授權名稱,此選項會列出系統上已安裝的所有授權。 

-upgrade-store-nobackup

無 

從不相容的版本升級至 Message Queue 3.5 或 3.5 SPx 時,自動移除舊的資料存放區

如需更多資訊,請參閱「Message Queue 安裝指南」。

-force

無 

執行動作而無需使用者確認 

此選項僅適用於通常會要求確認的 -remove instance- upgrade-store-nobackup 選項。

-loglevel level

imq.broker.log.level

記錄層級:

    NONE


    ERROR


    WARNING


    INFO


預設值:INFO

-metrics interval

imq.metrics.interval

代理程式度量的記錄時間間隔 (以秒為單位)

-tty

imq.log.console.output

將所有訊息記錄至主控台 

將代理程式的 imq.log.console.output 特性設為 ALL

如果未指定,將只記錄錯誤與警告訊息。 

-s | -silent

imq.log.console.output

無訊息模式 (不記錄至主控台)

將代理程式的 imq.log.console.output 特性設為 NONE

-version

無 

顯示版本資訊 [會忽略指令行上指定的任何其他選項。]

-h | -help

無 

顯示用法說明

指令公用程式

指令公用程式 (imqcmd) 可用於管理代理程式、連線服務、連線、實體目標、長期訂閱與作業事件。

所有 imqcmd 指令都必須包含子指令 (除了使用 -v-h 選項以顯示產品版本資訊或用法說明以外)。此處會列出可能的子指令,還會在以下各節詳細地說明。在所有情況下,如果子指令接受代理程式位址 (-b 選項),而且未指定主機名稱和連接埠號,那麼會使用預設值 localhost 7676

代理程式管理

shutdown bkr

關閉代理程式 

restart bkr

重新啟動代理程式 

pause bkr

暫停代理程式 

resume bkr

重新繼續代理程式 

update bkr

設定代理程式特性 

reload cls

重新載入叢集配置 

query bkr

列出代理程式特性值 

metrics bkr

顯示代理程式度量 

連線服務管理

pause svc

暫停連線服務 

resume svc

重新繼續連線服務 

update svc

設定連線服務特性 

list svc

列出代理程式上可用的連線服務 

query svc

列出連線服務特性值 

metrics svc

顯示連線服務度量 

連線管理

list cxn

列出代理程式上的連線 

query cxn

顯示連線資訊 

實體目標管理

create dst

建立實體目標 

destroy dst

銷毀實體目標 

pause dst

暫停將訊息傳送給實體目標 

resume dst

重新繼續將訊息傳送給實體目標 

update dst

設定實體目標特性 

purge dst

清除來自實體目標的所有訊息 

compact dst

壓縮實體目標 

list dst

列出實體目標 

query dst

列出實體目標特性值 

metrics dst

顯示實體目標度量 

長期訂閱管理

destroy dur

銷毀長期訂閱 

purge dur

清除長期訂閱的所有訊息 

list dur

列出主題的長期訂閱 

作業事件管理

commit txn

確定作業事件 

rollback txn

回復作業事件 

list txn

列出代理程式追蹤的作業事件 

query txn

顯示作業事件資訊 

代理程式管理

要使用代理程式公用程式 (imqbrokerd) 才能啟動代理程式;無法使用指令公用程式啟動代理程式。啟動代理程式之後,就可以使用表 13–2 中列出的 imqcmd 子指令對該代理程式進行管理與控制。

表 13–2 用於代理程式管理的指令公用程式子指令

語法 

說明 

shutdown bkr [-b hostName :portNumber]

關閉代理程式

restart bkr [-b hostName :portNumber]

重新啟動代理程式

關閉代理程式,然後使用原來啟動時所指定的相同選項重新啟動該代理程式。 

pause bkr [-b hostName :portNumber]

暫停代理程式

如需更多資訊,請參閱暫停代理程式

resume bkr [-b hostName :portNumber]

重新繼續代理程式

update bkr [-b hostName :portNumber]

    -o property1= value1


    [ [-o property2 =value2] … ]


設定代理程式特性 

請參閱第 14 章, 代理程式特性參照,以取得代理程式特性的相關資訊。

reload cls

重新載入叢集配置 [僅適用於代理程式叢集。]

強制更新所有永久性資訊以保持最新的狀態。 

query bkr -b hostName :portNumber

列出代理程式特性值 

還會列出所有連線至叢集中指定代理程式的執行中代理程式。 

metrics bkr [-b hostName :portNumber]

    [-m metricType]


    [-int interval]


    [-msp numSamples]


顯示代理程式度量 

-m 選項可指定要顯示的度量類型:

    ttl:傳入和傳出代理程式的訊息與封包


    rts:代理程式的訊息與封包每秒傳入和傳出的速率


    cxn:連線、虛擬記憶體堆疊與執行緒


預設值:ttl

-int 選項可指定顯示度量的時間間隔 (以秒為單位)。預設值: 5

-msp 選項可指定要顯示的範例數目。預設值:不限制 (無限)。

連線服務管理

表 13–3 列出可管理連線服務的 imqcmd 子指令。

表 13–3 連線服務管理的指令公用程式子指令

語法 

說明 

pause svc -n serviceName

    [-b hostName: portNumber]


暫停連線服務

無法暫停 admin 連線服務。

resume svc -n serviceName

    [-b hostName: portNumber]


重新繼續連線服務

update svc -n serviceName

    [-b hostName: portNumber]


    -o property1= value1


    [ [-o property2 =value2] … ]


設定連線服務特性 

請參閱連線特性,以取得連線服務特性的相關資訊。

list svc [-b hostName :portNumber]

列出代理程式上可用的連線服務 

query svc -n serviceName

    [-b hostName: portNumber]


列出連線服務特性值 

metrics svc -n serviceName

    [-b hostName: portNumber]


    [-m metricType]


    [-int interval]


    [-msp numSamples]


顯示連線服務度量 

-m 選項可指定要顯示的度量類型:

    ttl:利用指定的連線服務,傳入和傳出代理程式的訊息與封包


    rts:利用指定的連線服務,代理程式的訊息與封包每秒傳入和傳出的速率


    cxn:連線、虛擬記憶體堆疊與執行緒


預設值:ttl

-int 選項可指定顯示度量的時間間隔 (以秒為單位)。預設值: 5

-msp 選項可指定要顯示的範例數目。預設值:不限制 (無限)。

連線管理

表 13–4 列出可管理連線的 imqcmd 子指令。

表 13–4 連線服務管理的指令公用程式子指令

語法 

說明 

list cxn [-svn serviceName]

    [-b hostName: portNumber]


列出代理程式上的連線

列出指定連線服務在代理程式上的所有連線。如果未指定連線服務,則會列出所有連線。 

query cxn -n connectionID

    [-b hostName: portNumber]


顯示連線資訊

實體目標管理

表 13–5 列出可管理實體目標的 imqcmd 子指令。在所有情況下,- t (目標類型) 選項均可使用下列兩項值之一:

表 13–5 用於實體目標管理的指令公用程式子指令

語法 

說明 

create dst -t destType -n destName

    [-o property1 =value1]


    [ [ -o property2 =value2] … ]


建立實體目標 [不能在主代理程式暫時無法使用的代理程式叢集上執行此作業。]

目標名稱 destName 只能包含字母數字字元 (無空格),而且必須以字母字元或底線 (_) 或錢幣符號 ($) 開頭。而且開頭不能是 mq 字元。

destroy dst -t destType -n destName

銷毀實體目標

此作業不適用於由系統建立的目標,例如停用的訊息佇列。 

pause dst [-t destType -n destName]

    [-pst pauseType]


暫停將訊息傳送給實體目標

暫停將訊息傳送給利用 - t-n 選項指定的實體目標。如果未指定這些選項,就會暫停所有目標。

-pst 選項可指定要暫停的訊息傳送類型:

    CONSUMERS:暫停傳送給訊息用戶


    PRODUCERS:暫停傳送給訊息產生器


    ALL:暫停所有訊息傳送


預設值:ALL

resume dst [-t destType -ndestName]

重新繼續將訊息傳送給實體目標 

重新繼續將訊息傳送給利用 - t-n 選項指定的實體目標。如果未指定這些選項,就會重新繼續所有目標。

update dst -t destType -n destName

    -o property1= value1


    [ [ -o property2 =value2] … ]


設定實體目標特性

請參閱第 15 章, 實體目標特性參照,以取得實體目標特性的相關資訊。

purge dst -t destType -n destName

清除實體目標中的所有訊息

compact dst [-t destType -n destName]

壓縮實體目標

壓縮由 -t-n 選項所指定之實體目標的檔案式永久性資料存放區。如果未指定這些選項,就會壓縮所有目標。

必須在壓縮目標前暫停目標。 

list dst [-t destType]

    [-tmp]


列出實體目標 

列出由 -t 選項指定的所有實體目標類型。如果未指定目標類型,就會列出佇列與主題目標。如果已指定 -tmp 選項,也會列出暫時目標。

query dst -t destType -n destName

列出實體目標特性值

metrics dst -t destType -n destName

    [-m metricType]


    [-int interval]


    [-msp numSamples]


顯示實體目標度量 

-m 選項可指定要顯示的度量類型:

    ttl:傳入和傳出目標以及常駐於記憶體中的訊息與封包。


    rts:代理程式的訊息與封包每秒傳入和傳出的速率,以及其他速率資訊


    con:與訊息用戶相關的度量


    dsk:磁碟使用率


預設值:ttl

-int 選項可指定顯示度量的時間間隔 (以秒為單位)。預設值: 5

-msp 選項可指定要顯示的範例數目。預設值:不限制 (無限)。

長期訂閱管理

表 13–6 列出可管理長期訂閱的 imqcmd 子指令。

表 13–6 用於長期訂閱管理的指令公用程式子指令

語法 

說明 

destroy dur -c clientID

    -n subscriberName


銷毀長期訂閱 [不能在主代理程式暫時無法使用的代理程式叢集上執行此作業。]

purge dur -c clientID

    -n subscriberName


清除長期訂閱的所有訊息

list dur -d topicName

列出主題的長期訂閱

作業事件管理

表 13–7 列出可管理作業事件的 imqcmd 子指令。

表 13–7 用於作業事件管理的指令公用程式子指令

語法 

說明 

commit txn -n transactionID

確定作業事件

rollback txn -n transactionID

回復作業事件

list txn

列出代理程式追蹤的作業事件

query txn -n transactionID

顯示作業事件資訊

一般指令公用程式選項

表 13–8 中列出的其他選項,可套用至 imqcmd 指令的任何子指令。

表 13–8 一般指令公用程式選項

選項 

說明 

-secure

透過 ssladmin 連線服務安全連線至代理程式

-u userName

認證的使用者名稱 

如果省略此選項,指令公用程式就會以互動方式提示您輸入。 

-p password

認證的密碼 [此選項已經停用而且會永遠移除。請省略密碼 (將會以互動方式提示使用者輸入密碼),或使用 -passfile 選項指定包含密碼的檔案。]

-passfile path

密碼檔案位置 

如需更多資訊,請參閱密碼檔案

-rtm timeoutInterval

初始逾時時間間隔 (以秒為單位) 

重試請求之前,指令公用程式等待代理程式回覆的初始時間長度。每次後續重試都會使用逾時時間間隔,而此間隔為此初始時間間隔的倍數。 

預設值:10

-rtr numRetries

代理程式請求逾時之後的重試次數 

預設值:5

-javahome path

替代 Java 執行階段的位置

預設運作方式:使用安裝在系統上或是隨附於 Message Queue 的執行階段。

-f

執行動作而無需使用者確認 

-s

無訊息模式 (不顯示輸出) 

-v

顯示版本資訊 [會忽略指令行上指定的任何其他選項。] , [不需要使用者名稱與密碼]

-h

顯示用法說明,

-H

顯示詳細的用法說明,包括屬性清單與範例,

物件管理員公用程式

物件管理員公用程式 (imqobjmgr) 可建立和管理 Message Queue 受管理物件。表 13–9 列出可用的子指令。

表 13–9 物件管理員子指令

子指令 

說明 

add

將受管理物件新增至物件存放區 

delete

刪除物件存放區內的受管理物件 

list

列出物件存放區中的受管理物件 

query

顯示受管理物件資訊 

update

修改受管理物件 

表 13–10 列出 imqobjmgr 指令的選項。

表 13–10 物件管理員選項

選項 

說明 

-l lookupName

受管理物件的 JNDI 查找名稱

-j attribute= value

JNDI 物件存放區 (請參閱物件存放區) 的屬性

-t objectType

受管理物件的類型: 

    q:佇列目標


    t:主題目標


    cf:連線工廠


    qf:佇列連線工廠


    tf:主題連線工廠


    xcf:分散式作業事件的連線工廠


    xqf:分散式作業事件的佇列連線工廠


    xtf:分散式作業事件的主題連線工廠


    e:SOAP 端點 (請參閱「Message Queue Developer's Guide for Java Clients」)


-o attribute= value

受管理物件的屬性 (請參閱受管理物件屬性第 16 章, 受管理物件屬性參照)

-r readOnlyState

受管理物件是否為唯讀? 

如果為 true,用戶端就無法修改物件的屬性。預設值:false

-i fileName

包含所有或部分子指令子句的指令檔名稱 

-pre

無需執行指令即能預覽結果 

此選項對檢查預設屬性的值很有用。 

-javahome path

替代 Java 執行階段的位置

預設運作方式:使用安裝在系統上或是隨附於 Message Queue 的執行階段。

-f

執行動作而無需使用者確認 

-s

無訊息模式 (不顯示輸出) 

-v

顯示版本資訊 [會忽略指令行上指定的任何其他選項。]

-h

顯示用法說明

-H

顯示詳細的用法說明,包括屬性清單與範例

資料庫管理者公用程式

資料庫管理者公用程式 (imqdbmgr) 可設定 JDBC 型永久性資料存放區的資料庫模式。您也可以用該指令刪除已毀壞的 Message Queue 資料庫表格,或變更資料存放區。表 13–11 列出可用的子指令。

表 13–11 資料庫管理者子指令

子指令 

說明 

create all

建立新資料庫與永久性存放區模式。 

用於內嵌式資料庫系統。必須指定代理程式特性 imq.persist.jdbc.createdburl

create tbl

建立現有資料庫的永久性存放區模式 

用於外部資料庫系統。 

delete tbl

刪除目前永久性存放區的 Message Queue 資料庫表格 

delete oldtbl

刪除舊版永久性存放區的 Message Queue 資料庫表格 

在自動將永久性存放區遷移到 Message Queue 目前版本後使用。 

recreate tbl

重新建立永久性存放區模式 

刪除目前永久性存放區所有現有的 Message Queue 資料庫表格,然後重新建立模式。 

reset lck

重設永久性存放區鎖定狀態 

重設鎖定狀態,以便其他程序可以使用永久性存放區資料庫。 

表 13–12 列出 imqdbmgr 指令的選項。

表 13–12 資料庫管理者選項

選項 

說明 

-b instanceName

代理程式的實例名稱 

-Dproperty= value

設定代理程式配置特性 

請參閱永久性特性,以取得與永久性相關的代理程式配置特性之資訊。

注意:請仔細檢查使用此選項設定的特性的拼寫與格式。不正確的值會被忽略,不會另行通知或警告。

-u name

認證的使用者名稱 

-p password

認證的密碼 [此選項已經停用而且會永遠移除。請省略密碼 (將會以互動方式提示使用者輸入密碼),或使用 -passfile 選項指定包含密碼的檔案。]

-passfile path

密碼檔案位置 

如需更多資訊,請參閱密碼檔案

-v

顯示版本資訊 [會忽略指令行上指定的任何其他選項。]

-h

顯示用法說明

使用者管理員公用程式

使用者管理員公用程式 (imqusermgr) 可用於寫入或編輯平面檔案使用者儲存庫。此公用程式必須在安裝代理程式的同一台主機上執行;如果代理程式專用的使用者儲存庫尚不存在,您必須先啟動相對的代理程式實例才能建立。您還需要適當的權限才能寫入儲存庫:也就是說,在 Solaris 或 Linux 平台上,您必須是超級使用者或代理程式實例的建立者。

表 13–13 列出 imqusermgr 指令提供的子指令。在所有情況下,-i 選項都可指定代理程式實例名稱,指令會套用到該代理程式的使用者儲存庫;如果未指定,就會使用預設名稱 imqbroker

表 13–13 使用者管理員子指令

語法 

說明 

add [-i instanceName]

    -u userName -p password


    [-g group]


將使用者與密碼新增至儲存庫 

-g 選項是選擇性的,可指定要將這位使用者指定給哪個群組:

    admin


    user


    anonymous


delete [-i instanceName]

    -u userName


刪除儲存庫的使用者 

update [-i instanceName]

    -u userName -p password


    [-a activeState]


update [-i instanceName]

    -u userName -a activeState


    [-p password]


設定使用者的密碼和 (或) 使用中狀態 

-a 選項是一個布林值,可指定使用者為使用中 (true) 或非使用中 (false)。預設值:true

list [-i instanceName]

    [-u userName]


顯示使用者資訊 

如果未指定使用者名稱,就會列出儲存庫中的所有使用者。 

此外,表 13–14 中所列出的選項,可套用至 imqusermgr 指令的任何子指令。

表 13–14 一般使用者管理員選項

選項 

說明 

-f

執行動作而無需使用者確認 

-s

無訊息模式 (不顯示輸出) 

-v

顯示版本資訊 [會忽略指令行上指定的任何其他選項。]

-h

顯示用法說明

服務管理員公用程式

服務管理員公用程式 (imqsvcadmin) 可將代理程式安裝為 Windows 服務。表 13–15 列出可用的子指令。

表 13–15 服務管理員子指令

子指令 

說明 

install

安裝服務 

remove

移除服務 

query

顯示啟動選項 

啟動選項可包括服務是手動啟動還是自動啟動、服務的位置、Java 執行階段的位置,以及啟動時傳送至代理程式的引數值 (請參閱表 13–16)。

表 13–16 列出 imqsvcadmin 指令的選項。

表 13–16 服務管理員選項

選項 

說明 

-javahome path

替代 Java 執行階段的位置

預設運作方式:使用安裝在系統上或是隨附於 Message Queue 的執行階段。

-jrehome path

替代 Java 執行階段環境 (JRE) 的位置

-vmargs arg1 [ [arg2 ] … ]

要傳送給執行代理程式服務的 Java 虛擬機器 (JVM) 的其他引數 [也可以使用 Windows [系統管理工具] 控制面板中的 [服務] 工具,開啟服務的 [內容] 視窗,並於 [一般] 標籤下方的 [啟動參數] 欄位中,指定這些引數。]

範例:

imqsvcadmin install -vmargs "-Xms16m -Xmx128m"

-args arg1 [ [arg2] … ]

要傳送給代理程式服務的其他指令行引數

範例:

imqsvcadmin install -args "-passfile d:\\imqpassfile"

請參閱代理程式公用程式,以取得代理程式指令行引數的相關資訊。

-h

顯示用法說明 [會忽略指令行上指定的任何其他選項。]

您使用 -javahome-vmargs -args 選項指定的任何資訊,都會儲存在 Windows 登錄中的機碼 JREHomeJVMArgs ServiceArgs 下,路徑為

   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iMQ_Broker\Parameters

金鑰工具公用程式

金鑰工具公用程式 (imqkeytool) 會為代理程式產生自我簽署的憑證,此憑證可用於 ssljms ssladmincluster 連線服務。語法為

   imqkeytool -broker

若為 UNIX 系統,需要從超級使用者 (root) 帳號執行公用程式。

第 14 章 代理程式特性參照

本章提供有關訊息代理程式配置特性的參考資訊。包含下列各節:

連線特性

表 14–1 列出與連線服務相關的代理程式特性。

表 14–1 代理程式連線特性

特性 

類型 

預設 

說明 

imq.service.activelist

字串 

jms,admin

要在代理程式啟動時啟用之連線服務的清單 (由逗號分隔)

imq.hostname

字串 

所有可用的 IP 位址 

所有連線服務的預設主機名稱或 IP 位址

imq.portmapper.hostname

字串 

無 

連接埠對映器的主機名稱或 IP 位址

如果指定,會置換 imq.hostname

imq.portmapper.port [可與 imqcmd update bkr 指令一起使用]

整數 

7676

連接埠對映器的連接埠號 


備註 –

如果在同一台主機上執行多個代理程式實例,那麼每一個實例都必須指定唯一的連接埠對映器連接埠。


imq.serviceName .protocolType.hostname [僅限 jmsssljmsadminssladmin 服務;請參閱附錄 CHTTP/HTTPS 支援 以取得更多有關配置 httpjms httpsjms 服務的資訊]

字串 

無 

連線服務的主機名稱或 IP 位址

如果指定,會置換所指定連線服務的 imq.hostname

imq.serviceName .protocolType.port

整數 

0

連線服務的連接埠號 

0 值指定連接埠對映器應動態配置連接埠號。

imq.portmapper.backlog

整數 

50

作業系統儲存區中的最大擱置連接埠對映器請求數 

imq.serviceName .threadpool_model [僅限 jmsadmin 服務]

字串 

dedicated

用於執行緒池管理的執行緒模型: 

    dedicated:每個連線都有兩個專屬執行緒,一個用於內送訊息,另一個用於外寄訊息


    shared:連線在傳送或接收訊息時會由共用執行緒進行處理


     

專屬模型會限制所能支援的連線數目,但可以提供較高的效能;共用模型可增加連線數目,但因為需要額外的經常性耗用時間進行執行緒管理,所以效能較低。 

imq.serviceName .min_threads

整數 

jms10 ssljms10 httpjms10 httpsjms10 admin4 ssladmin4

連線服務的執行緒池中所維護的最小執行緒數 

當可用的執行緒數超過此臨界值時,將會在執行緒閒置時將其關閉,直到達到臨界值下限為止。 

如其所示,預設值因連線服務而異。 

imq.serviceName .max_threads

整數 

jms1000 ssljms500 httpjms500 httpsjms500 admin10 ssladmin10

執行緒數目,一旦超過此數目,系統便不會將新的執行緒增加至執行緒池,供已命名的連線服務使用 

此數目必須大於 0,並且必須大於 imq.serviceName.min_threads 的值。

如其所示,預設值因連線服務而異。 

imq.shared.connectionMonitor_limit [僅限共用執行緒模型]

整數 

Solaris:512 Linux:512 Windows:64

由分散執行緒監視的最大連線數目 

系統配置了足夠的分散執行緒以監視所有連線。此特性的值愈小,將執行緒指定給使用中連線的速度愈快。-1 值表示不限制每個執行緒的連線數目。

如其所示,預設值因作業系統平台而異。 

imq.ping.interval

整數 

120

測試用戶端與代理程式之間連線的時間間隔 (以秒為單位) 

0-1 值可停用定期的連線測試。

路由特性

表 14–2 列出與路由服務相關的代理程式特性。可配置以自動建立目標的特性列於表 14–3 中。

表 14–2 代理程式路由特性

特性 

類型 

預設 

說明 

imq.system.max_count [可與 imqcmd update bkr 指令一起使用]

整數 

-1

代理程式保留訊息的最大數目 

-1 值表示不限制訊息計數。

imq.system.max_size

字串 

-1

代理程式保留訊息的最大總容量 

此值可能會使用下列字尾,以位元組、千位元組或百萬位元組表示: 

    b:位元組


    k:千位元組 (1024 位元組)


    m:百萬位元組 (1024 × 1024 = 1,048,576 位元組)


     

無字尾的值表示以位元組為單位;-1 值表示不限制訊息容量。

     

範例:

    1600:1600 位元組


    1600b:1600 位元組


    16k:16 千位元組 (= 16,384 位元組)


    16m:16 百萬位元組 (= 16,777,216 位元組)


    -1:不限制


imq.message.max_size

字串 

70m

單一訊息內文的最大容量 

語法與 imq.system.max_size 相同 (請參閱前述內容)。

imq.message.expiration.interval

整數 

60

收回已過期訊息的時間間隔 (以秒為單位) 

imq.resourceState .threshold

整數 

green0 yellow80 orange90 red98

可觸發記憶體資源狀態的記憶體用量百分比 (其中 resourceStategreenyellow orangered)

imq.resourceState .count

整數 

green5000 yellow500 orange50 red0

檢查記憶體是否已達到資源狀態臨界值之前,每個批次中可允許的最大內送訊息數目 (其中 resourceState greenyelloworange red)

系統記憶體變得逐漸不足時,此限制會減少訊息產生器產生訊息的數量。 

imq.destination.DMQ.truncateBody

布林值 

false

儲存至停用的訊息佇列之前,是否先移除訊息內文? 

如果為 true,將只會儲存訊息標頭與特性資料。

imq.transaction.autorollback

布林值 

false

是否要自動回復在代理程式啟動時為 PREPARED 狀態的分散式作業事件? 

如果為 false,就必須使用指令公用程式 (imqcmd) 以手動確定或回復作業事件。

表 14–3 自動建立的目標之代理程式特性

特性 

類型 

預設 

說明 

imq.autocreate.queue [可與 imqcmd update bkr 指令一起使用] , [僅限佇列目標]

布林值 

true

允許自動建立佇列目標? 

imq.autocreate.topic [僅限主題目標]

布林值 

true

允許自動建立主題目標? 

imq.autocreate.destination.maxNumMsgs

整數 

100000

未使用訊息的最大數目 

-1 值表示不限制訊息數目。

imq.autocreate.destination.maxBytesPerMsg

字串 

10k

任何單一訊息的最大容量 (以位元組為單位) 

此值可能會使用下列字尾,以位元組、千位元組或百萬位元組表示: 

    b:位元組


    k:千位元組 (1024 位元組)


    m:百萬位元組 (1024 × 1024 = 1,048,576 位元組)


     

無字尾的值是以位元組表示;-1 值表示不限制訊息容量。

     

範例:

    1600:1600 位元組


    1600b:1600 位元組


    16k:16 千位元組 (= 16,384 位元組)


    16m:16 百萬位元組 (= 16,777,216 位元組)


    -1:不限制


imq.autocreate.destination.maxTotalMsgBytes

字串 

10m

未使用訊息的最大總記憶體容量 (以位元組為單位)

語法與 imq.autocreate.destination.maxBytesPerMsg 相同 (請參閱前述內容)。

imq.autocreate.destination.limitBehavior

字串 

REJECT_NEWEST

達到記憶體限制臨界值時的代理程式運作方式: 

    FLOW_CONTROL:減緩產生器速度


    REMOVE_OLDEST:捨棄最舊的訊息


    REMOVE_LOW_PRIORITY:根據訊息存在時間,捨棄優先權最低的訊息;不會對訊息產生用戶端傳送通知


    REJECT_NEWEST:拒絕最新的訊息;只有當訊息為永久性時,才通知訊息產生用戶端發生異常


     

如果值為 REMOVE_OLDESTREMOVE_LOW_PRIORITY ,而且 imq.autocreate.destination.useDMQ 特性為 true,則超過限制的訊息就會移至停用的訊息佇列。

imq.autocreate.destination.maxNumProducers

整數 

100

目標的最大訊息產生器數目

達到限制時,將無法建立新的產生器。-1 值表示不限制產生器數目。

imq.autocreate.queue.maxNumActiveConsumers

整數 

1

在佇列目標的負載平衡傳送中,使用中訊息用戶的最大數目

-1 值表示不限制用戶數目。

imq.autocreate.queue.maxNumBackupConsumers

整數 

0

在佇列目標的負載平衡傳送中,備份訊息用戶的最大數目

-1 值表示不限制用戶數目。

imq.autocreate.queue.consumerFlowLimit

整數 

1000

單一批次中傳送給佇列用戶的最大訊息數目

在負載平衡佇列傳送中,此數目是開始進行負載平衡前,路由到使用中用戶的佇列訊息初始數目。目標用戶可以在連線上指定較低的值來置換這項限制。 

-1 值表示不限制訊息數目。

imq.autocreate.topic.consumerFlowLimit

整數 

1000

單一批次中傳送給主題用戶的最大訊息數目

-1 值表示不限制用戶數目。

imq.autocreate.destination.isLocalOnly

布林值 

false

僅限本機傳送? 

此特性僅適用於代理程式叢集,而且目標一經建立之後便無法變更。如果為 true則其他代理程式上不會重複目標,且限制目標僅會傳送訊息給本機用戶 (會連線至建立目標的代理程式)。

imq.autocreate.queue.localDeliveryPreferred

布林值 

false

偏好本機傳送? 

此特性僅適用於代理程式叢集中的負載平衡佇列傳送。如果為 true,只有當本機代理程式上沒有用戶時,才會將訊息傳送給遠端用戶;目標不可設定為僅限於本機傳送 (即 imq.autocreate.destination.isLocalOnly 必須為 false)。

imq.autocreate.destination.useDMQ

布林值 

true

要將停用的訊息傳送給停用的訊息佇列? 

如果為 false,停用的訊息將會被捨棄。

永久性特性

Message QueueTM 支援永久性資料存放區的檔案式與 JDBC 型模型。代理程式特性 imq.persist.store (表 14–4) 可指定要使用哪種模型。以下各節描述兩種模型的代理程式配置特性。

表 14–4 全域代理程式永久性特性

特性 

類型 

預設 

說明 

imq.persist.store

字串 

file

永久性資料存放區的模型: 

    file:檔案式永久性


    jdbc:JDBC 型永久性


檔案式永久性

表 14–5 列出與檔案式永久性相關的代理程式特性。

表 14–5 檔案式永久性的代理程式特性

特性 

類型 

預設 

說明 

imq.persist.file.message.max_record_size

字串 

1m

新增至訊息存放區檔案的最大訊息容量 

超過此容量的任何訊息,都會以個別的檔案各自儲存。 

此值可能會使用下列字尾,以位元組、千位元組或百萬位元組表示: 

    b:位元組


    k:千位元組 (1024 位元組)


    m:百萬位元組 (1024 × 1024 = 1,048,576 位元組)


無字尾的值表示以位元組為單位。 

範例:

    1600:1600 位元組


    1600b:1600 位元組


    16k:16 千位元組 (= 16,384 位元組)


    16m:16 百萬位元組 (= 16,777,216 位元組)


imq.persist.file.destination.message.filepool.limit

整數 

100

目標檔案池中可供重新使用的最大可用檔案數目。 

超過此限制的可用檔案將會被刪除。代理程式將依需要建立與刪除超過此限制的其他檔案。 

此限制愈高,代理程式處理永久性資料的速度就愈快。 

imq.persist.file.message.filepool.cleanratio

整數 

0

可用檔案池中要維持在清除 (空白) 狀態的檔案百分比 

此值越高,檔案池所需的磁碟空間就越小,但在作業期間清除檔案所需的經常性耗用時間會越長。 

imq.persist.file.message.cleanup

布林值 

false

要在關機時清除可用檔案池中的檔案? 

將此特性設為 true 可節省磁碟空間以供檔案存放區使用,但會減緩代理程式關閉的速度。

imq.persist.file.sync.enabled

布林值 

false

要與實體儲存裝置同步化常駐記憶體狀態? 

將此特性設為 true 可避免因系統當機而造成資料遺失,但效能會降低。


備註 –

如果 Message Queue 執行 Sun Cluster 和 Sun Cluster Data Service,請在所有叢集節點上將代理程式的此特性設定為 true


JDBC 型永久性

表 14–6 列出與 JDBC 型永久性相關的代理程式特性。所示範例為 DataMirror Mobile Solutions, Inc. 資料庫產品的 PointBase® 系列。

表 14–6 JDBC 型永久性的代理程式特性

特性 

範例 

說明 

imq.persist.jdbc.brokerid

PointBase 內嵌式版本不需要 

(選擇性) 代理程式實例識別碼

識別碼必須為字母數字字串,其長度不能超過 n - 12 個字元,其中 n 為資料庫所允許的最長表格名稱長度。

若有多個代理程式實例使用相同的資料庫作為永久性資料存放區,則此識別碼會附加至資料庫表格名稱,使這些資料庫表格名稱均是唯一的。由於內嵌式資料庫僅會儲存一個代理程式實例的資料,因此通常不需要此屬性。 

imq.persist.jdbc.driver

com.pointbase.jdbc.jdbcUniversalDriver

可供連線至資料庫的 JDBC 驅動程式 Java 類別名稱

imq.persist.jdbc.opendburl

jdbc:pointbase:embedded:dbName ;

    database.home=
    
     
       .../instances/instanceName/dbstore
    

可供開啟現有資料庫連線的 URL

imq.persist.jdbc.createdburl

jdbc:pointbase:embedded:dbName ;

    new,database.home=
    
     
       .../instances/instanceName/dbstore
    

(選擇性) 可供建立新資料庫的 URL

僅當使用 Message Queue 資料庫管理者公用程式 (imqdbmgr) 建立資料庫時,才需要此特性。

imq.persist.jdbc.closedburl

PointBase 不需要 

(選擇性) 可供關閉資料庫連線的 URL

imq.persist.jdbc.user

 

(選擇性) 必要時,可供開啟資料庫連線的使用者名稱

基於安全性原因,可改用指令行選項 imqbrokerd -dbuserimqdbmgr - u 來指定該值。

imq.persist.jdbc.needpassword

 

(選擇性) 資料庫是否需要密碼以供代理程式存取使用?

如果為 trueimqbrokerd imqdbmgr 指令將會提示您輸入密碼,除非您使用 - passfile 選項指定包含密碼的密碼檔案。

imq.persist.jdbc.password [應只在密碼檔案中使用]

 

(選擇性) 可供開啟資料庫連線的密碼

imq.persist.jdbc.table.IMQSV35

CREATE TABLE ${name}

    (STOREVERSION INTEGER NOT NULL,
    
     
     BROKERID VARCHAR(100))
    

可供建立版本表格的 SQL 指令

imq.persist.jdbc.table.IMQCCREC35

CREATE TABLE ${name}

    (RECORDTIME BIGINT NOT NULL,
    
     
     RECORD BLOB(10k))
    

可供建立配置變更記錄表格的 SQL 指令

imq.persist.jdbc.table.IMQDEST35

CREATE TABLE ${name}

    (DID VARCHAR(100) NOT NULL,
    
     
     DEST BLOB(10k),
    
     
     primaryKey(DID))
    

可供建立目標表格的 SQL 指令

imq.persist.jdbc.table.IMQINT35

CREATE TABLE ${name}

    (CUID BIGINT NOT NULL,
    
     
     INTEREST BLOB(10k),
    
     
     primaryKey(CUID))
    

可供建立偏好表格的 SQL 指令

imq.persist.jdbc.table.IMQMSG35

CREATE TABLE ${name}

    (MID VARCHAR(100) NOT NULL,
    
     
     DID VARCHAR(100),
    
     
     MSGSIZE BIGINT,
    
     
     MSG BLOB(1m),
    
     
     primaryKey(MID))
    

可供建立訊息表格的 SQL 指令

MSG 的預設最大長度為 1 MB (1m)。如果您預期訊息長度會大於此長度,請相應設定長度。如果已經建立表格,那麼您必須重新建立這些表格,才能變更最大的訊息長度。

imq.persist.jdbc.table.IMQPROPS35

CREATE TABLE ${name}

    (PROPNAME VARCHAR(100) NOT NULL,
    
     
     PROPVALUE BLOB(10k),
    
     
     primaryKey(PROPNAME))
    

可供建立特性表格的 SQL 指令

imq.persist.jdbc.table.IMQILIST35

CREATE TABLE ${name}

    (MID VARCHAR(100) NOT NULL,
    
     
     CUID BIGINT,
    
     DID VARCHAR(100),
    
     
     STATE INTEGER,
    
     
     primaryKey(MID, CUID))
    

可供建立偏好狀態表格的 SQL 指令

imq.persist.jdbc.table.IMQTXN35

CREATE TABLE ${name}

    (TUID BIGINT NOT NULL,
    
     
     STATE INTEGER,
    
     
     TSTATEOBJ BLOB(10K),
    
     
     primaryKey(TUID))
    

可供建立作業事件表格的 SQL 指令

imq.persist.jdbc.table.IMQTACK35

CREATE TABLE ${name}

    (TUID BIGINT NOT NULL,
    
     
     TXNACK BLOB(10k))
    

可供建立作業事件確認表格的 SQL 指令

安全性特性

表 14–7 列出與安全性服務相關的代理程式特性。

表 14–7 代理程式安全性特性

特性 

類型 

預設 

說明 

imq.accesscontrol.enabled

布林值 

true

使用存取控制?

如果為 true,系統將會檢查存取控制特性檔案,以驗證認證的使用者已取得授權使用連線服務或執行與特定目標相關的特定作業。

imq.serviceName.accesscontrol.enabled

布林值 

無 

要使用連線服務的存取控制? 

如果指定,會置換指定之連線服務的 imq.accesscontrol.enabled

如果為 true,系統將會檢查存取控制特性檔案,以驗證認證的使用者已取得授權使用連線服務或執行與特定目標相關的特定作業。

imq.accesscontrol.file.filename

字串 

accesscontrol.properties

存取控制特性檔的名稱 

檔案名稱可指定與存取控制目錄相關的路徑 (請參閱附錄 AMessage QueueTM 資料的特定平台位置)。

imq.serviceName .accesscontrol.file.filename

字串 

無 

連線服務的存取控制特性檔名稱 

如果指定,會置換指定之連線服務的 imq.accesscontrol.file.filename

檔案名稱可指定與存取控制目錄相關的路徑 (請參閱附錄 AMessage QueueTM 資料的特定平台位置)。

imq.authentication.type

字串 

digest

密碼編碼方法:

    basic:Base64


    digest:MD5


imq.serviceName .authentication.type

字串 

無 

連線服務的密碼編碼方法:

    basic:Base64


    digest:MD5


如果指定,會置換指定之連線服務的 imq.authentication.type

imq.authentication.basic.user_repository

字串 

file

Base64 認證的使用者儲存庫類型: 

    file:檔案式


    ldap:LDAP


imq.authentication.client.response.timeout

整數 

180

等待用戶端回應認證請求的時間間隔 (以秒為單位) 

imq.passfile.enabled

布林值 

false

要從密碼檔案取得密碼? 

imq.passfile.dirpath

字串 

請參閱附錄 AMessage QueueTM 資料的特定平台位置

前往包含密碼檔的路徑 

imq.passfile.name

字串 

passfile

密碼檔案名稱

imq.imqcmd.password

字串 

無 

管理使用者的密碼 

指令公用程式 (imqcmd) 可使用此密碼,在執行指令之前認證該使用者。

imq.user_repository.ldap.server

字串 

無 

LDAP 伺服器的主機名稱與連接埠號

值的格式為 

    hostName: port


其中 hostName 是執行 LDAP 伺服器的主機之完全合格 DNS 名稱,而 port 是該伺服器使用的連接埠號。

     

若要指定容錯移轉伺服器的清單,請使用下列語法: 

    host1: port1


    ldap://host2 : port2


    ldap://host3 :port3



     

清單中的項目以空格分開。請注意,每個容錯移轉伺服器位址都會以 ldap:// 開頭。即使您使用 SSL 並且將特性 imq.user_repository.ldap.ssl.enabled 設定為 true,也請使用此格式。您不需要在位址中指定 ldaps

imq.user_repository.ldap.principal

字串 

無 

可供連結到 LDAP 使用者儲存庫的辨別名稱

如果 LDAP 伺服器允許匿名搜尋,則不需要。

imq.user_repository.ldap.password [應只在密碼檔案中使用]

字串 

無 

可供連結到 LDAP 使用者儲存庫的密碼

如果 LDAP 伺服器允許匿名搜尋,則不需要。

imq.user_repository.ldap.propertyName

敬請期待 

敬請期待 

敬請期待 

imq.user_repository.ldap.base

字串 

無 

LDAP 使用者項目的目錄基底

imq.user_repository.ldap.uidattr

字串 

無 

LDAP 使用者名稱的提供者專用屬性識別碼

imq.user_repository.ldap.usrfilter

字串 

無 

(選擇性) LDAP 使用者搜尋的 JNDI 篩選器

imq.user_repository.ldap.grpsearch

布林值 

false

啟用 LDAP 群組搜尋?


備註 –

Message Queue 不支援巢式群組。


imq.user_repository.ldap.grpbase

字串 

無 

LDAP 群組項目的目錄基底

imq.user_repository.ldap.gidattr

字串 

無 

LDAP 群組名稱的提供者專用屬性識別碼

imq.user_repository.ldap.memattr

字串 

無 

LDAP 群組中使用者名稱的提供者專用屬性識別碼

imq.user_repository.ldap.grpfilter

字串 

無 

(選擇性) LDAP 群組搜尋的 JNDI 篩選器

imq.user_repository.ldap.timeout

整數 

280

LDAP 搜尋的時間限制 (以秒為單位)

imq.user_repository.ldap.ssl.enabled

布林值 

false

要使用 SSL 與 LDAP 伺服器進行通訊?

imq.keystore.file.dirpath

字串 

請參閱附錄 AMessage QueueTM 資料的特定平台位置

前往包含金鑰庫檔案的路徑 

imq.keystore.file.name

字串 

keystore

金鑰庫檔的名稱 

imq.keystore.password

字串 

無 

金鑰庫檔的密碼 

imq.audit.enabled [只適用於 Message Queue Enterprise Edition]

布林值 

false

要啟動代理程式記錄檔的稽核記錄功能? 

檢視特性

表 14–8 列出與監視服務相關的代理程式特性。

表 14–8 代理程式監視特性

特性 

類型 

預設 

說明 

imq.log.level [可與 imqcmd update bkr 指令一起使用]

字串 

INFO

記錄層級 

指定可寫入至輸出通道的記錄資訊種類。由高至低的值為: 

    ERROR


    WARNING


    INFO


每個層級都包含高於它的層級 (例如 WARNING 會包含 ERROR)。

imq.destination.logDeadMsgs

布林值 

false

要記錄有關停用的訊息之資訊? 

如果為 true,將會記錄以下事件:

  • 目標已滿,已達最大容量或訊息計數。

  • 代理程式不是因為管理指令或傳送確認而捨棄訊息。

  • 代理程式將訊息移動到停用的訊息佇列。

imq.log.console.stream

字串 

ERR

主控台輸出的目標: 

    OUTstdout


    ERRstderr


imq.log.console.output

字串 

ERROR|WARNING

要寫入至主控台的記錄資訊種類: 

    NONE


    ERROR


    WARNING


    INFO


    ALL


ERRORWARNINGINFO 種類並包含它們之上的層級,因此必要時必須明確指定。可用豎條符號 (|) 分隔,指定任意種類組合。

imq.log.file.dirpath

字串 

請參閱附錄 AMessage QueueTM 資料的特定平台位置

前往包含記錄檔的路徑 

imq.log.file.filename

字串 

log.txt

記錄檔名稱 

imq.log.file.output

字串 

ALL

要寫入至記錄檔的記錄資訊種類: 

    NONE


    ERROR


    WARNING


    INFO


    ALL


ERRORWARNINGINFO 種類並包含它們之上的層級,因此必要時必須明確指定。可用豎條符號 (|) 分隔,指定任意種類組合。

imq.log.file.rolloverbytes

整數 

-1

記錄檔長度 (以位元組為單位),一旦超出即需將輸出自動重建至新記錄檔 

-1 值表示不限制位元組數目 (不會根據檔案長度進行自動重建)。

imq.log.file.rolloversecs

整數 

604800 (一週)

檔案存在時間 (以秒為單位),一旦超出即需將輸出自動重建至新記錄檔 

-1 值表示不限制秒數 (不會根據檔案存在時間進行自動重建)。

imq.log.syslog.output [僅限 Solaris 平台]

字串 

ERROR

要寫入至 syslogd(1M) 的記錄資訊種類:

    NONE


    ERROR


    WARNING


    INFO


    ALL


ERRORWARNINGINFO 種類並包含它們之上的層級,因此必要時必須明確指定。可用豎條符號 (|) 分隔,指定任意種類組合。

imq.log.syslog.facility

字串 

LOG_DAEMON

記錄訊息的 syslog 設備

可能的值對應 syslog(3C) 線上手冊中所列出的值。用於 Message Queue 的適當值包含:

    LOG_USER


    LOG_DAEMON


    LOG_LOCAL0


    LOG_LOCAL1


    LOG_LOCAL2


    LOG_LOCAL3


    LOG_LOCAL4


    LOG_LOCAL5


    LOG_LOCAL6


    LOG_LOCAL7


imq.log.syslog.identity

字串 

imqbrokerd_${imq.instanceName }

要在記錄至 syslog 的所有訊息前面放置的識別字串

imq.log.syslog.logpid

布林值 

true

記錄訊息時也要記錄代理程式程序 ID? 

imq.log.syslog.logconsole

布林值 

false

如果無法將訊息傳送至 syslog,便將它們寫入至系統主控台?

imq.log.timezone

字串 

本地時區 

記錄時間標記的時區 

這些值與 java.util.TimeZone.getTimeZone 方法使用的值相同。

範例:

    GMT


    GMT-8:00


    America/LosAngeles


    Europe/Rome


    Asia/Tokyo


imq.metrics.enabled

布林值 

true

啟用將度量資訊寫入記錄程式的功能?

不會影響度量訊息的產生 (由 imq.metrics.topic.enabled 控制)。

imq.metrics.interval

整數 

-1

將度量資訊寫入記錄程式的時間間隔 (以秒為單位) 

不會影響產生度量訊息的時間間隔 (由 imq.metrics.topic.interval 控制)。

-1 值表示無限期 (永不將度量資訊寫入至記錄程式)。

imq.metrics.topic.enabled

布林值 

true

啟用將所產生度量訊息寫入度量主題目標的功能? 

如果為 false,就會在嘗試訂閱度量主題目標時,丟出一個用戶端異常。

imq.metrics.topic.interval

整數 

60

產生度量訊息至度量主題目標的時間間隔 (以秒為單位) 

imq.metrics.topic.persist

布林值 

false

傳送至度量主題目標的度量訊息為永久性訊息? 

imq.metrics.topic.timetolive

整數 

300

傳送到度量主題目標之度量訊息的使用期限 (以秒為單位) 

叢集配置特性

表 14–9 列出與代理程式叢集相關的配置特性。

表 14–9 叢集配置的代理程式特性

特性 

類型 

預設 

說明 

imq.cluster.brokerlist [叢集中所有代理程式的值必須相同]

字串 

無 

代理程式位址的清單 

此清單由以逗號分隔的一個或多個位址組成。每個位址都可指出叢集中某個代理程式的主機名稱與連接埠對映器之連接埠號,使用的格式為 hostName: portNumber

範例:

    host1:3000,host2:8000,ctrlhost


imq.cluster.hostname [可以為叢集中的每個代理程式個別指定]

字串 

無 

cluster 連線服務的主機名稱或 IP 位址

如果指定,會置換 cluster 連線服務的 imq.hostname (請參閱表 14–1)。

imq.cluster.port

整數 

0

cluster 連線服務的連接埠號

0 值指定連接埠對映器應動態配置連接埠號。

imq.cluster.transport

字串 

tcp

cluster 連線服務的網路傳輸協定

為了在代理程式之間以安全方式傳送加密的訊息,請將此特性設定為 ssl

imq.cluster.url, [可與 imqcmd update bkr 指令一起使用]

字串 

無 

cluster 配置檔案的 URL (如果存在)

範例:

    http://webserver/imq/cluster.properties


    (適用於 Web 伺服器上的檔案)


    file:/net/mfsserver/imq/cluster.properties


    (適用於共用磁碟機上的檔案)


imq.cluster.masterbroker

字串 

無 

叢集主代理程式的主機名稱和連接埠號 (如果存在) 

值的格式為 hostName: portNumber,其中 hostName 是主代理程式的主機名稱, portNumber 是其連接埠對映器的連接埠號。

範例:

    ctrlhost:7676


按字母順序排列的代理程式特性清單

按字母順序排列的代理程式特性清單是按字母順序排列的代理程式配置特性清單,可與本章中的相關表格交叉參照。

表 14–10 按字母順序排列的代理程式特性清單

特性 

表格 

imq.accesscontrol.enabled

表 14–7

imq.accesscontrol.file.filename

表 14–7

imq.audit.enabled

表 14–7

imq.authentication.basic.user_repository

表 14–7

imq.authentication.client.response.timeout

表 14–7

imq.authentication.type

表 14–7

imq.autocreate.destination.isLocalOnly

表 14–3

imq.autocreate.destination.limitBehavior

表 14–3

imq.autocreate.destination.maxBytesPerMsg

表 14–3

imq.autocreate.destination.maxNumMsgs

表 14–3

imq.autocreate.destination.maxNumProducers

表 14–3

imq.autocreate.destination.maxTotalMsgBytes

表 14–3

imq.autocreate.destination.useDMQ

表 14–3

imq.autocreate.queue

表 14–3

imq.autocreate.queue.consumerFlowLimit

表 14–3

imq.autocreate.queue.localDeliveryPreferred

表 14–3

imq.autocreate.queue.maxNumActiveConsumers

表 14–3

imq.autocreate.queue.maxNumBackupConsumers

表 14–3

imq.autocreate.topic

表 14–3

imq.autocreate.topic.consumerFlowLimit

表 14–3

imq.cluster.brokerlist

表 14–9

imq.cluster.hostname

表 14–9

imq.cluster.masterbroker

表 14–9

imq.cluster.port

表 14–9

imq.cluster.transport

表 14–9

imq.cluster.url

表 14–9

imq.destination.DMQ.truncateBody

表 14–2

imq.destination.logDeadMsgs

表 14–8

imq.hostname

表 14–1

imq.imqcmd.password

表 14–7

imq.keystore.file.dirpath

表 14–7

imq.keystore.file.name

表 14–7

imq.keystore.password

表 14–7

imq.keystore.propertyName

表 14–7

imq.log.console.output

表 14–8

imq.log.console.stream

表 14–8

imq.log.file.dirpath

表 14–8

imq.log.file.filename

表 14–8

imq.log.file.output

表 14–8

imq.log.file.rolloverbytes

表 14–8

imq.log.file.rolloversecs

表 14–8

imq.log.level

表 14–8

imq.log.syslog.facility

表 14–8

imq.log.syslog.identity

表 14–8

imq.log.syslog.logconsole

表 14–8

imq.log.syslog.logpid

表 14–8

imq.log.syslog.output

表 14–8

imq.log.timezone

表 14–8

imq.message.expiration.interval

表 14–2

imq.message.max_size

表 14–2

imq.metrics.enabled

表 14–8

imq.metrics.interval

表 14–8

imq.metrics.topic.enabled

表 14–8

imq.metrics.topic.interval

表 14–8

imq.metrics.topic.persist

表 14–8

imq.metrics.topic.timetolive

表 14–8

imq.passfile.dirpath

表 14–7

imq.passfile.enabled

表 14–7

imq.passfile.name

表 14–7

imq.persist.file.destination.message.filepool.limit

表 14–5

imq.persist.file.message.cleanup

表 14–5

imq.persist.file.message.filepool.cleanratio

表 14–5

imq.persist.file.message.max_record_size

表 14–5

imq.persist.file.sync.enabled

表 14–5

imq.persist.jdbc.brokerid

表 14–6

imq.persist.jdbc.closedburl

表 14–6

imq.persist.jdbc.createdburl

表 14–6

imq.persist.jdbc.driver

表 14–6

imq.persist.jdbc.needpassword

表 14–6

imq.persist.jdbc.opendburl

表 14–6

imq.persist.jdbc.password

表 14–6

imq.persist.jdbc.table.IMQCCREC35

表 14–6

imq.persist.jdbc.table.IMQDEST35

表 14–6

imq.persist.jdbc.table.IMQILIST35

表 14–6

imq.persist.jdbc.table.IMQINT35

表 14–6

imq.persist.jdbc.table.IMQMSG35

表 14–6

imq.persist.jdbc.table.IMQPROPS35

表 14–6

imq.persist.jdbc.table.IMQSV35

表 14–6

imq.persist.jdbc.table.IMQTACK35

表 14–6

imq.persist.jdbc.table.IMQTXN35

表 14–6

imq.persist.jdbc.user

表 14–6

imq.persist.store

表 14–4

imq.ping.interval

表 14–1

imq.portmapper.backlog

表 14–1

imq.portmapper.hostname

表 14–1

imq.portmapper.port

表 14–1

imq.resourceState .count

表 14–2

imq.resourceState .threshold

表 14–2

imq.service.activelist

表 14–1

imq.serviceName .accesscontrol.enabled

表 14–7

imq.serviceName .accesscontrol.file.filename

表 14–7

imq.serviceName .authentication.type

表 14–7

imq.serviceName .max_threads

表 14–1

imq.serviceName .min_threads

表 14–1

imq.serviceName .protocolType.hostname

表 14–1

imq.serviceName .protocolType.port

表 14–1

imq.serviceName .threadpool_model

表 14–1

imq.shared.connectionMonitor_limit

表 14–1

imq.system.max_count

表 14–2

imq.system.max_size

表 14–2

imq.transaction.autorollback

表 14–2

imq.user_repository.ldap.base

表 14–7

imq.user_repository.ldap.gidattr

表 14–7

imq.user_repository.ldap.grpbase

表 14–7

imq.user_repository.ldap.grpfilter

表 14–7

imq.user_repository.ldap.grpsearch

表 14–7

imq.user_repository.ldap.memattr

表 14–7

imq.user_repository.ldap.password

表 14–7

imq.user_repository.ldap.principal

表 14–7

imq.user_repository.ldap.propertyName

表 14–7

imq.user_repository.ldap.server

表 14–7

imq.user_repository.ldap.ssl.enabled

表 14–7

imq.user_repository.ldap.timeout

表 14–7

imq.user_repository.ldap.uidattr

表 14–7

imq.user_repository.ldap.usrfilter

表 14–7

第 15 章 實體目標特性參照

本章提供有關實體目標配置特性的參考資訊。您可在建立或更新實體目標時,設定這些特性。針對自動建立的目標,已在代理程式實例配置檔案中設定為預設值 (請參閱表 14–3)。

實體目標特性

表 15–1 實體目標特性

特性 

類型 

預設 

說明 

maxNumMsgs [ 在叢集環境中,會套用至目標的各個實例,而非整體套用至叢集中的所有實例]

整數 

-1

未使用訊息的最大數目 

-1 值表示不限制訊息數目。

對於停用的訊息佇列,預設值是 1000

maxBytesPerMsg

字串 

-1

任何單一訊息的最大容量 (以位元組為單位) 

若永久性訊息被拒絕,就會對訊息產生用戶端報告發生異常;若為非永久性訊息,則不會傳送通知。 

     

此值可能會使用下列字尾,以位元組、千位元組或百萬位元組表示: 

    b:位元組


    k:千位元組 (1024 位元組)


    m:百萬位元組 (1024 × 1024 = 1,048,576 位元組)


     

無字尾的值是以位元組表示;-1 值表示不限制訊息容量。

     

範例:

    1600:1600 位元組


    1600b:1600 位元組


    16k:16 千位元組 (= 16,384 位元組)


    16m:16 百萬位元組 (= 16,777,216 位元組)


    -1:不限制


maxTotalMsgBytes

字串 

-1

未使用訊息的最大總記憶體容量 (以位元組為單位)

語法與 maxBytesPerMsg 相同 (請參閱前述內容)。

對於停用的訊息佇列,預設值是 10m

limitBehavior

字串 

REJECT_NEWEST

達到記憶體限制臨界值時的代理程式運作方式: 

    FLOW_CONTROL:減緩產生器速度


    REMOVE_OLDEST:捨棄最舊的訊息


    REMOVE_LOW_PRIORITY:根據訊息存在時間,捨棄優先權最低的訊息;不會對訊息產生用戶端傳送通知


    REJECT_NEWEST:拒絕最新的訊息;只有當訊息為永久性訊息時,才通知訊息產生用戶端發生異常


     

如果值為 REMOVE_OLDESTREMOVE_LOW_PRIORITY ,而且 useDMQ 特性為 true,超過限制的訊息就會移至停用的訊息佇列。對於停用的訊息佇列本身,預設的限制運作方式是 REMOVE_OLDEST,而且無法設為 FLOW_CONTROL

maxNumProducers [無法針對停用的訊息佇列進行設定]

整數 

-1

目標的最大訊息產生器數目

達到限制時,將無法建立新的產生器。-1 值表示不限制產生器數目。

maxNumActiveConsumers [僅限佇列目標]

整數 

1

從佇列目標進行負載平衡傳送時,使用中訊息用戶的最大數目

-1 值表示不限制用戶數目。在 Sun Java System Message QueueTM Platform Edition 中,此值會限制為 2

maxNumBackupConsumers

整數 

0

從佇列目標進行負載平衡傳送時,備份訊息用戶的最大數目

-1 值表示不限制用戶數目。在 Sun Java System Message Queue Platform Edition 中,此值會限制為 1

consumerFlowLimit

整數 

1000

單一批次中傳送給用戶的最大訊息數目

在負載平衡佇列傳送中,此數目是開始進行負載平衡前,路由到使用中用戶的佇列訊息初始數目。目標用戶可以在連線上指定較低的值來置換這項限制。 

-1 值表示不限制訊息數目。

isLocalOnly

布林值 

false

僅限本機傳送? 

此特性僅適用於代理程式叢集的目標,而且目標一經建立之後便無法變更。如果為 true,則目標不會被複製到其他代理程式上,並且只會傳送訊息給本機用戶 (即連線至建立該目標之代理程式的用戶)。

localDeliveryPreferred ,

布林值 

false

偏好本機傳送? 

此特性僅適用於代理程式叢集中的負載平衡佇列傳送。如果為 true,則只有當本機代理程式上沒有用戶時,才會將訊息傳送給遠端用戶;目標不可設定為僅限於本機傳送 (即 isLocalOnly 必須為 false)。

useDMQ

布林值 

true

要將停用的訊息傳送給停用的訊息佇列? 

如果為 false,停用的訊息將會被捨棄。

第 16 章 受管理物件屬性參照

本章提供受管理物件屬性的參考資訊。包含下列各節:

連線工廠屬性

連線工廠物件的屬性分為幾個種類,在下列各節中有所介紹:

連線處理

表 16–1 列出連線處理的連線工廠屬性。

表 16–1 連線處理的連線工廠屬性

屬性 

類型 

預設 

說明 

imqAddressList

字串 

若存在,為現有的 Message QueueTM 3.0 位址;若不存在,則為表 16–2 中的第一個項目

代理程式位址的清單 

此清單由以逗號分隔的一個或多個代理程式位址組成。每個位址都會指定 (或表示) 主機名稱、連接埠號,以及用戶端可以連線的代理程式實例的連線服務。位址語法會因連線服務與連接埠指定方法而異;請參閱下面內容以取得詳細資訊。 

imqAddressListBehavior

字串 

PRIORITY

嘗試連線至代理程式位址的順序: 

    PRIORITY:位址清單中指定的順序


    RANDOM:隨機順序



備註 –

如果許多用戶端共用相同的連線工廠,請指定隨機連線順序,以免全都嘗試連線至相同的位址。


imqAddressListIterations

整數 

5

在位址清單上嘗試建立或重新建立連線的重複次數 

-1 值表示不限制重複次數。

imqPingInterval

整數 

30

測試用戶端與代理程式間之連線的時間間隔 (以秒為單位) 

0-1 值可停用有規律的連線測試。

imqReconnectEnabled

布林值 

false

嘗試重新建立中斷的連線? 

imqReconnectAttempts

整數 

0

移至位址清單中的下一個位址之前,嘗試連線 (或重新連線) 至每個位址的次數 

-1 值表示不限制嘗試連線的次數:會重複嘗試連線至第一個位址,直到成功為止。

imqReconnectInterval

長整數 

3000

嘗試重新連線的時間間隔 (以毫秒為單位) 

此值適用於連續嘗試一個指定的位址,以及連續依序嘗試清單中連續的位址。 


備註 –

過小的值可能會讓代理程式來不及回復;而過大的值則可能會導致令人無法忍受的延遲。


imqSSLIsHostTrusted

布林值 

true

信任代理程式所提出的任何憑證? 

若設為 false,Message Queue 用戶端執行階段將會驗證收到的所有憑證。若憑證的簽署者不在用戶端的信任清單存放區中,則驗證將會失敗。

若設為 true,將會略過憑證驗證。例如,使用自我簽署的憑證對軟體進行測試時,這樣設定很有用。

備註:若要使用憑證授權單位簽署的憑證,請將此屬性設定為 false

imqAddressList 屬性的值是以逗號分隔的字串,指定要連線的一個或多個代理程式位址。每個位址的一般語法如下:

   
scheme://address

其中 scheme表 16–2 第一欄中顯示的其中一個定址機制,而 address 為代理程式位址本身。指定位址的確切語法會因定址機制而異,如表格的最後一欄所示。

表 16–2 訊息代理程式定址機制

方案 

服務 

語法 

說明 

mq

jmsssljms

[hostName][:portNumber ][/serviceName]

動態指定 jmsssljms 連線服務的連接埠

位址清單項目可指定 Message Queue 連接埠對映器的主機名稱與連接埠號。連接埠對映器本身會動態指定連線使用的連接埠。 

預設值:

    hostName = localhost


    portNumber = 7676


    serviceName = jms


若為 ssljms 連線服務,則必須明確指定所有變數。

mqtcp

jms

hostName:portNumber /jms

使用 jms 連線服務連線至指定的連接埠

略過連接埠對映器,並直接與指定的主機名稱與連接埠號建立 TCP 連線。

mqssl

ssljms

hostName:portNumber /ssljms

使用 ssljms 連線服務連線至指定的連接埠

略過連接埠對映器,並直接與指定的主機名稱與連接埠號建立安全的 SSL 連線。

http

httpjms

http://hostName: portNumber/contextRoot /tunnel

如果多個代理程式實例使用相同的通道 Servlet,下面語法可連線至特定 (而非隨機選定) 代理程式實例: 

http://hostName: portNumber/contextRoot /tunnel?

    ServerName=hostName :instanceName


使用 httpjms 連線服務連線至指定的連接埠

在指定的 URL 與 Message Queue 通道 Servlet 建立 HTTP 連線。代理程式必須配置為存取 HTTP 通道 Servlet。

https

httpsjms

https://hostName: portNumber/contextRoot /tunnel

如果多個代理程式實例使用相同的通道 Servlet,下面語法可連線至特定 (而非隨機選定) 代理程式實例: 

https://hostName: portNumber/contextRoot /tunnel?

    ServerName=hostName :instanceName


使用 httpsjms 連線服務連線至指定的連接埠

在指定的 URL 建立與 Message Queue 通道 Servlet 的安全 HTTPS 連線。代理程式必須配置為存取 HTTPS 通道 Servlet。

表 16–3 訊息代理程式位址範例

服務 

代理程式主機 

連接埠 

範例位址 

未指定 

未指定 

未指定 

無位址 (mq://localHost:7676/jms)

未指定 

指定主機 

未指定 

myBkrHost (mq://myBkrHost:7676/jms)

未指定 

未指定 

指定連接埠對映器連接埠 

1012 (mq://localHost:1012/jms)

ssljms

本地主機 

標準連接埠對映器連接埠 

mq://localHost:7676/ssljms

ssljms

指定主機 

標準連接埠對映器連接埠 

mq://myBkrHost:7676/ssljms

ssljms

指定主機 

指定連接埠對映器連接埠 

mq://myBkrHost:1012/ssljms

jms

本地主機 

指定服務連接埠 

mqtcp://localhost:1032/jms

ssljms

指定主機 

指定服務連接埠 

mqssl://myBkrHost:1034/ssljms

httpjms

不適用 

不適用 

http://websrvr1:8085/imq/tunnel

httpsjms

不適用 

不適用 

https://websrvr2:8090/imq/tunnel

用戶端標識

表 16–4 列出用戶端標識的連線工廠屬性。

表 16–4 用戶端標識的連線工廠屬性

屬性 

類型 

預設 

說明 

imqDefaultUsername

字串 

guest

以代理程式進行認證時使用的預設使用者名稱 

imqDefaultPassword

字串 

guest

以代理程式進行認證時使用的預設密碼 

imqConfiguredClientID

字串 

null

管理配置的用戶端識別碼 

imqDisableSetClientID

布林值 

false

是否要使用setClientID方法,以防止用戶端變更用戶端識別碼?

可靠性與流量控制

表 16–5 列出可靠性與流量控制的連線工廠屬性。

表 16–5 可靠性與流量控制的連線工廠屬性

屬性 

類型 

預設 

說明 

imqAckTimeout

字串 

0

指定在丟出異常之前,等待代理程式確認的最長時間 (以毫秒為單位) 

0 值表示無逾時 (永遠等待)。


備註 –

有時過小的值會導致發生提早逾時的情況:例如,首次使用安全 (SSL) 連線向 LDAP 使用者儲存庫認證使用者時,可能需要超過 30 秒的時間。


imqConnectionFlowCount

整數 

100

度量批次中的有效負載訊息數 

超過此訊息數時,就會暫時停止傳送有效負載訊息至用戶端,而會傳送所有累積的控制訊息。依照用戶端執行階段的通知,重新繼續傳送有效負載訊息,直至計數再次到達指定數目為止。 

0 值可停用對訊息傳送進行度量,這可能會導致大量有效負載訊息流量阻斷 Message Queue 控制訊息。

imqConnectionFlowLimitEnabled

布林值 

false

要限制連線層級的訊息流量? 

imqConnectionFlowLimit

整數 

1000

每個連線可傳送和緩衝供使用的最大訊息數 

擱置的未使用有效負載訊息數 (受到由 imqConnectionFlowCount 控制之流量度量的管制) 超過此限制時,連線就會停止傳送訊息。只有當擱置的訊息低於限制時,才會重新繼續傳送。如此可避免用戶端因擱置訊息導致耗盡記憶體,而造成過度負載。

如果 imqConnectionFlowLimitEnabled false,則可忽略此屬性。

imqConsumerFlowLimit

整數 

100

每個用戶可傳送和緩衝供使用的最大訊息數 

該用戶擱置未使用的有效負載訊息數超過此限制時,就會停止將訊息傳送給指定的用戶。只有當該用戶的擱置訊息低於 imqConsumerFlowThreshold 指定的百分比時,才會重新繼續傳送。如此可改善多個用戶間的負載平衡,並防止任何用戶獨佔連線,以免讓使用相同連線的其他用戶苦等。

您可以為佇列自身的 consumerFlowLimit 屬性設定一個較小的值,以置換此限制 (請參閱第 15 章, 實體目標特性參照)。請注意,將訊息傳送給一個連線上所有用戶時,必須遵守 imqConnectionFlowLimit 所指定的整體限制。

imqConsumerFlowThreshold

整數 

50

在用戶端執行階段緩衝的每位用戶之訊息數,以 imqConsumerFlowLimit 百分比表示,當低於該值時,就可以重新繼續傳送訊息

佇列瀏覽器和伺服器階段作業

表 16–6 列出佇列瀏覽和伺服器階段作業的連線工廠屬性。

表 16–6 佇列瀏覽器和伺服器階段作業的連線工廠屬性

屬性 

類型 

預設 

說明 

imqQueueBrowserMaxMessagesPerRetrieve

整數 

1000

瀏覽佇列目標的內容時,一次可擷取的最大訊息數 


備註 –

此屬性不會影響所瀏覽的訊息總數,而只是影響將訊息分為資料塊以便傳送到用戶端執行階段的方式 (分為數目少但內容多的資料塊,或是分為數目多但內容少的資料塊)。用戶端應用程式一定會收到佇列中的所有訊息。變更該屬性的值可能會影響效能,但不會影響所擷取的資料總數。


imqQueueBrowserRetrieveTimeout

長整數 

60000

瀏覽佇列目標的內容時,在丟出異常之前,等待擷取訊息的最長時間 (以毫秒為單位) 

imqLoadMaxToServerSession

布林值 

true

要將最大訊息數載入伺服器階段作業? 

如果指定為 false,用戶端一次只載入一個訊息。

此屬性僅適用於 JMS 應用程式伺服器設備。

標準訊息特性

表 16–7 列出的連線工廠屬性,可控制 Message Queue 用戶端執行階段是否設定「Java 訊息服務規格」中所定義的某些標準訊息特性。

表 16–7 標準訊息特性的連線工廠屬性

特性 

類型 

預設 

說明 

imqSetJMSXUserID

布林值 

false

要為產生的訊息設定 JMSXUserID 特性 (傳送訊息的使用者身份識別)?

imqSetJMSXAppID

布林值 

false

要為產生的訊息設定 JMSXAppID 特性 (傳送訊息的應用程式身份識別)?

imqSetJMSXProducerTXID

布林值 

false

要為產生的訊息設定 JMSXProducerTXID 特性 (產生訊息的作業事件之作業事件識別碼)?

imqSetJMSXConsumerTXID

布林值 

false

要為使用的訊息設定 JMSXConsumerTXID 特性 (使用訊息的作業事件之作業事件識別碼)?

imqSetJMSXRcvTimestamp

布林值 

false

要為使用的訊息設定 JMSXRcvTimestamp 特性 (訊息傳送給用戶的時間)?

訊息標頭置換

表 16–8 列出用以置換 JMS 訊息標頭欄位的連線工廠屬性。

表 16–8 訊息標頭置換的連線工廠屬性

屬性 

類型 

預設 

說明 

imqOverrideJMSDeliveryMode

布林值 

false

允許置換用戶端設定的傳送模式? 

imqJMSDeliveryMode

整數 

2

置換傳送模式的值: 

1 非永久性模式

2 永久性模式

imqOverrideJMSExpiration

布林值 

false

允許置換用戶端設定的過期時間? 

imqJMSExpiration

長整數 

0

置換過期時間的值 (以毫秒為單位) 

0 值表示不限制過期時間 (訊息永不過期)。

imqOverrideJMSPriority

布林值 

false

允許置換用戶端設定的優先層級? 

imqJMSPriority

整數 

4 (一般)

置換優先權層級的值 (09)

imqOverrideJMSHeadersToTemporaryDestinations

布林值 

false

要將置換套用至暫時目標? 

目標屬性

表 16–9 列出可為目標受管理物件設定的屬性。

表 16–9 目標屬性

屬性 

類型 

預設 

說明 

imqDestinationName

字串 

Untitled_Destination_Object

實體目標名稱 

目標名稱只能包含字母數字字元 (無空格),而且必須以字母字元或底線 (_) 或錢幣符號 ($) 開頭。而且開頭不能是 mq 字元。

imqDestinationDescription

字串 

無 

目標的描述性字串 

SOAP 端點屬性

表 16–10 列出用以配置端點 URL 的屬性,以供使用簡單物件存取協定 (SOAP) 的應用程式使用;如需更多資訊,請參閱「Message Queue Developer's Guide for Java Clients」。

表 16–10 SOAP 端點屬性

屬性 

類型 

預設 

說明 

imqSOAPEndpointList

字串 

無 

一個或多個表示 SOAP 端點之 URL 的清單 (以空格相互分隔),訊息將傳送至這些端點

每個 URL 應該有一個可以接收並處理 SOAP 訊息的相關聯 Servlet。

範例:

    http://www.serv1/ http://www.serv2/


如果該清單指定多個 URL,則會向所有的 URL 廣播訊息。

imqEndpointName

字串 

Untitled_Endpoint_Object

SOAP 端點名稱

imqEndpointDescription

字串 

無 

SOAP 端點的描述性字串

範例:

    My endpoints for broadcast


第 17 章 JMS 資源介面特性參照

本章說明 Message QueueTM JMS 資源介面 (JMS RA) 的配置特性,可讓您透過標準 J2EE 連接器架構 (JCA),以整合 Sun Java SystemTM Message Queue 與任何 J2EE 1.4 應用程式伺服器。當資源介面外掛至應用程式伺服器之後,可讓部署在該應用程式伺服器中的應用程式使用 Message Queue 來傳送及接收 JMS 訊息。

Message Queue JMS 資源介面透過三個 JavaBean 元件,展現其配置特性:

若要設定這些實體的特性值,您可以使用應用程式伺服器所提供的工具,以用於配置及部署資源介面及部署 MDB。

本章列出並描述 Message Queue JMS 資源介面的配置特性。它包含下面各節:

ResourceAdapter JavaBean

ResourceAdapter 配置可以配置預設的 JMS 資源介面運作方式。表 17–1 列出並描述用以配置此 JavaBean 的特性。

表 17–1 資源介面特性

特性 

類型 

預設 

說明 

addressList

字串 

mq://localhost:7676/jms

(必需) 可供連線至 Message Queue 服務的訊息服務位址

等同於 connectionURL (如下所述);您必須設定其中一個。

connectionURL

字串 

mq://localhost:7676/jms

 

可供連線至 Message Queue 服務的訊息服務位址 

等同於 addressList (如上所述);您必須設定其中一個。

userName

字串 

guest

(必需) 可供連線至 Message Queue 服務的預設使用者名稱

password

字串 

guest

(必需) 可供連線至 Message Queue 服務的預設密碼

addressListBehavior

字串 

PRIORITY

嘗試連線至 Message Queue 服務的順序: 

    PRIORITY:位址清單中指定的順序


    RANDOM:隨機順序



備註 –

不論針對此特性設定的值為何,連線失敗後的重新連線嘗試都會從連線失敗的代理程式開始,並依次連線該位址清單中的後續位址。


addressListIterations

整數 

1

在位址清單上嘗試建立或重新建立連線的重複次數 

reconnectEnabled

布林值 

false

嘗試重新建立斷開的連線?

reconnectAttempts

整數 

6

移至位址清單中的下一個位址之前,嘗試重新連線至每個位址的次數

reconnectInterval

長整數 

30000

嘗試重新連線的時間間隔 (以毫秒為單位)

ManagedConnectionFactory JavaBean

管理的連線工廠會定義資源介面提供給訊息驅動 Bean 的連線。表 17–2 顯示 ManagedConnectionFactory JavaBean 的特性;若設定這些特性,它們會置換 ResourceAdapter JavaBean 的對應特性。

表 17–2 管理的連線工廠特性

特性 

類型 

預設 

說明 

addressList

字串 

繼承自 ResourceAdapter JavaBean (請參閱表 17–1)

可供連線至 Message Queue 服務的訊息服務位址清單 

userName

字串 

guest

(選擇性) 可供連線至 Message Queue 服務的使用者名稱

password

字串 

guest

(選擇性) 可供連線至 Message Queue 服務的密碼

clientID

字串 

無 

可供連線至 Message Queue 服務的用戶端識別碼 

addressListBehavior

字串 

PRIORITY

嘗試連線至 Message Queue 服務的順序: 

    PRIORITY:位址清單中指定的順序


    RANDOM:隨機順序



備註 –

不論針對此特性設定的值為何,連線失敗後的重新連線嘗試都會從連線失敗的代理程式開始,並依次連線該位址清單中的後續位址。


addressListIterations

整數 

1

在位址清單上嘗試建立或重新建立連線的重複次數 

reconnectEnabled

布林值 

false

嘗試重新建立斷開的連線?

reconnectAttempts

整數 

6

移至位址清單中的下一個位址之前,嘗試重新連線至每個位址的次數 

reconnectInterval

長整數 

30000

嘗試重新連線的時間間隔 (以毫秒為單位) 

ActivationSpec JavaBean

表 17–3 顯示 ActivationSpec JavaBean 的可配置特性。應用程式伺服器會使用這些特性指示資源介面啟動訊息端點,並將它與訊息驅動 Bean 關聯。

表 17–3 啟動規格特性

特性 

類型 

預設 

說明 

addressList [Message Queue JMS 資源介面專用的特性]

字串 

繼承自 ResourceAdapter JavaBean

(選擇性) 可供連線至 Message Queue 服務的訊息服務位址

destination [標準 Enterprise JavaBean (EJB) 和 J2EE 連接器架構 (CA) 特性]

字串 

無 

(必需) 使用訊息時所在的目標名稱

此值必須是 Message Queue 目標受管理物件的 destinationName 特性。

destinationType

字串 

無 

(必需) destination 特性指定的目標類型:

    javax.jms.Queue:佇列目標


    javax.jms.Topic:主題目標


messageSelector

字串 

無 

(選擇性) 可供篩選傳送到用戶之訊息的訊息選擇器

subscriptionName

字串 

無 

長期訂閱的名稱 

subscriptionDurability 是設為 Durable ,則必須設定此特性。

subscriptionDurability

字串 

NonDurable

主題目標用戶的長期性: 

    Durable:長期用戶


    NonDurable:非長期用戶


只有當 destinationType 是設為 javax.jms.Topic 時,此特性才有效;此特性對於非長期訂閱是選擇性的,對於長期訂閱則是必需的。若設為 Durable,也必須設定 clientIDsubscriptionName 特性。

clientId

字串 

無 

可供連線至 Message Queue 服務的用戶端 ID 

subscriptionDurability 是設為 Durable,則必須設定此特性。

acknowledgeMode

字串 

Auto-acknowledge

(選擇性) 確認模式:

    Auto-acknowledge: Auto-acknowledge 模式


    Dups-ok-acknowledge: Dups-OK-acknowledge 模式


customAcknowledgeMode

字串 

無 

MDB 訊息使用的確認模式

有效值為 No_acknowledge 或空值。

您只能針對未處理作業事件的非長期主題訂閱使用 no-acknowledge 模式;如果將此設定用於已處理作業事件訂閱或長期訂閱,將無法啟動訂閱。 

endpointExceptionRedeliveryAttempts

整數 

6

當 MDB 在傳送訊息期間丟出異常時,要重新傳送訊息的次數

sendUndeliverableMsgsToDMQ

布林值 

true

當 MDB 丟出執行階段異常而且嘗試重新傳送的次數超出 endpointExceptionRedeliveryAttempts 值時,是否將訊息放入停用的訊息佇列中?

如果是 false,Message Queue 代理程式會嘗試向任何有效的用戶 (包含此 MDB) 重新傳送訊息。

第 18 章 度量參照

本章說明 Message QueueTM 訊息代理程式可提供用於監視、調校和診斷用途的度量資訊。此類資訊透過以下各種方式提供:

本章中的表格列出可用度量資訊的種類,以及提供度量資訊的形式。對於透過指令公用程式之 metrics bkr 指令提供的度量,表格會列出可請求的度量類型;對於在度量訊息中提供的度量,表格會列出要將度量傳送到其中的度量主題目標。本章包含下列各節:

JVM 度量

表 18–1 顯示代理程式為代理程式程序 JVM (Java 虛擬機器) 堆疊報告的度量資訊。

表 18–1 JVM 度量

度量數目 

說明 

記錄檔? 

metrics bkr 度量類型

度量主題 

JVM 堆疊:記憶體總容量

目前的記憶體總容量 (以位元組為單位) 

是 

cxn

mq.metrics.jvm

JVM 堆疊:可用記憶體

目前的可用記憶體容量 (以位元組為單位) 

是 

cxn

mq.metrics.jvm

JVM 堆疊:最大記憶體

可允許的最大堆疊容量 (以位元組為單位) 

是 

無 

mq.metrics.jvm

代理程式通用度量

表 18–2 顯示代理程式報告的代理程式通用度量資訊。

表 18–2 代理程式通用度量

度量數目 

說明 

記錄檔? 

metrics bkr 度量類型

度量主題 

連線

連線數目 

所有連線服務的目前連線數目總數 

是 

cxn

mq.metrics.broker

執行緒數目 

所有連線服務的目前執行緒數目總數 

是 

cxn

無 

最小執行緒數目 

所有連線服務的最小執行緒數目總數 

是 

cxn

無 

最大執行緒數目 

所有連線服務的最大執行緒數目總數 

是 

cxn

無 

儲存的訊息

訊息數目 

目前儲存在記憶體和永久性存放區中的有效負載訊息數目 

不需要 

[改用 query bkr 指令]

mq.metrics.broker

訊息容量總數 

目前儲存在記憶體和永久性存放區中的有效負載訊息容量總數 (以位元組為單位) 

不需要 

mq.metrics.broker

訊息流量

傳入的訊息數目 

自代理程式啟動後,累積的已接收有效負載訊息數目 

是 

ttl

mq.metrics.broker

傳出的訊息數目 

自代理程式啟動後,累積的已傳送有效負載訊息數目 

是 

ttl

mq.metrics.broker

訊息傳入的速率 

目前傳入代理程式的有效負載訊息流量速率 

是 

rts

無 

訊息傳出的速率 

目前傳出代理程式的有效負載訊息流量速率 

是 

rts

無 

傳入的訊息容量 

自代理程式啟動後,累積的已接收有效負載訊息容量 (以位元組為單位) 

是 

ttl

mq.metrics.broker

傳出的訊息容量 

自代理程式啟動後,累積的已傳送有效負載訊息容量 (以位元組為單位) 

是 

ttl

mq.metrics.broker

訊息容量傳入的速率 

目前傳入代理程式之有效負載訊息容量的流量速率 

是 

rts

無 

訊息容量傳出的速率 

目前傳出代理程式之有效負載訊息容量的流量速率 

是 

rts

無 

傳入的資料封包數目 

自代理程式啟動後,累積的已接收有效負載和控制資料封包數目 

是 

ttl

mq.metrics.broker

傳出的資料封包數目 

自代理程式啟動後,累積的已傳送有效負載和控制資料封包數目 

是 

ttl

mq.metrics.broker

資料封包傳入的速率 

目前傳入代理程式之有效負載和控制資料封包流量的速率 

是 

rts

無 

資料封包傳出的速率 

目前傳出代理程式之有效負載和控制資料封包流量的速率 

是 

rts

無 

傳入的資料封包容量 

自代理程式啟動後,累積的已接收有效負載和控制資料封包容量 (以位元組為單位) 

是 

ttl

mq.metrics.broker

傳出的資料封包容量 

自代理程式啟動後,累積的已傳送有效負載和控制資料封包容量 (以位元組為單位) 

是 

ttl

mq.metrics.broker

資料封包容量傳入的速率 

目前傳入代理程式之有效負載和控制資料封包容量的流量速率 

是 

rts

無 

資料封包容量傳出的速率 

目前傳出代理程式之有效負載和控制資料封包容量的流量速率 

是 

rts

無 

目標

目標數目 

目前的實體目標數目 

不需要 

無 

mq.metrics.broker

連線服務度量

表 18–3 顯示代理程式報告的個別連線服務之度量資訊。

表 18–3 連線服務度量

度量數目 

說明 

記錄檔? 

metrics svc 度量類型

度量主題 

連線

連線數目 

目前的連線數目 

不需要 

cxn [也可以使用 query svc 指令來取得]

無 

執行緒數目 

目前的執行緒數目 

不需要 

cxn

無 

最小執行緒數目 

指定給服務的最小執行緒數目 

不需要 

cxn

無 

最大執行緒數目 

指定給服務的最大執行緒數目 

不需要 

cxn

無 

訊息流量

傳入的訊息數目 

自代理程式啟動後,透過連線服務接收的累積有效負載訊息數目 

不需要 

ttl

無 

傳出的訊息數目 

自代理程式啟動後,透過連線服務傳送的累積有效負載訊息數目 

不需要 

ttl

無 

訊息傳入的速率 

目前透過連線服務傳入代理程式的有效負載訊息流量速率 

不需要 

rts

無 

訊息傳出的速率 

目前透過連線服務傳出代理程式的有效負載訊息流量速率 

不需要 

rts

無 

傳入的訊息容量 

自代理程式啟動後,透過連線服務接收的累積有效負載訊息容量 (以位元組為單位) 

不需要 

ttl

無 

傳出的訊息容量 

自代理程式啟動後,透過連線服務傳送的累積有效負載訊息容量 (以位元組為單位) 

不需要 

ttl

無 

訊息容量傳入的速率 

目前透過連線服務傳入代理程式之有效負載訊息容量的流量速率 

不需要 

rts

無 

訊息容量傳出的速率 

目前透過連線服務傳出代理程式之有效負載訊息容量的流量速率 

不需要 

rts

無 

傳入的資料封包數目 

自代理程式啟動後,透過連線服務接收的累積有效負載和控制資料封包數目 

不需要 

ttl

無 

傳出的資料封包數目 

自代理程式啟動後,透過連線服務傳送的累積有效負載和控制資料封包數目 

不需要 

ttl

無 

資料封包傳入的速率 

目前透過連線服務傳入代理程式之有效負載和控制資料封包的流量速率 

不需要 

rts

無 

資料封包傳出的速率 

目前透過連線服務傳出代理程式之有效負載和控制資料封包的流量速率 

不需要 

rts

無 

傳入的資料封包容量 

自代理程式啟動後,透過連線服務接收之有效負載和控制資料封包的累積容量 (以位元組為單位) 

不需要 

ttl

無 

傳出的資料封包容量 

自代理程式啟動後,透過連線服務傳送之有效負載和控制資料封包的累積容量 (以位元組為單位) 

不需要 

ttl

無 

資料封包容量傳入的速率 

目前透過連線服務傳入代理程式之有效負載和控制資料封包容量的流量速率 

不需要 

rts

無 

資料封包容量傳出的速率 

目前透過連線服務傳出代理程式之有效負載和控制資料封包容量的流量速率 

不需要 

rts

無 

目標度量

表 18–4 顯示代理程式報告的個別目標之度量資訊。

表 18–4 目標度量

度量數目 

說明 

記錄檔? 

metrics dst 度量類型

度量主題 

訊息用戶

用戶數目 

目前所關聯的訊息用戶數目 

對於佇列目標,此屬性包含使用中用戶和備份用戶。對於主題目標,它包含非長期訂閱者和 (使用中及非使用中的) 長期訂閱者,等於「使用中用戶的數目」。 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

用戶的尖峰數目 

自代理程式啟動後,所關聯訊息用戶的尖峰數目 

對於佇列目標,此屬性包含使用中用戶和備份用戶。對於主題目標,它包含非長期訂閱者和 (使用中及非使用中的) 長期訂閱者,等於「使用中用戶的尖峰數目」。 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

用戶的平均數目 

自代理程式啟動後,所關聯訊息用戶的平均數目 

對於佇列目標,此屬性包含使用中用戶和備份用戶。對於主題目標,它包含非長期訂閱者和 (使用中及非使用中的) 長期訂閱者,等於「使用中用戶的平均數目」。 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

使用中用戶的數目 

目前所關聯的使用中訊息用戶數目 

對於主題目標,此屬性包含非長期訂閱者和 (使用中及非使用中的) 長期訂閱者,等於「用戶數目」。 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

使用中用戶的尖峰數目 

自代理程式啟動後,所關聯使用中訊息用戶的尖峰數目 

對於主題目標,此屬性包含非長期訂閱者和 (使用中及非使用中的) 長期訂閱者,等於「用戶的尖峰數目」。 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

使用中用戶的平均數目 

自代理程式啟動後,所關聯使用中訊息用戶的平均數目 

對於主題目標,此屬性包含非長期訂閱者和 (使用中及非使用中的) 長期訂閱者,等於「用戶的平均數目」。 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

備份用戶的數目 [僅限佇列目標]

目前所關聯的備份訊息用戶數目 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

備份用戶的尖峰數目

自代理程式啟動後,所關聯備份訊息用戶的尖峰數目 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

備份用戶的平均數目

自代理程式啟動後,所關聯備份訊息用戶的平均數目 

不需要 

con

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

儲存的訊息

訊息數目 

目前儲存在記憶體和永久性存放區中的訊息數目 

不需要 

conttlrts [也可以使用 query dst 指令來取得]

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

訊息尖峰數目 

自代理程式啟動後,儲存在記憶體和永久性存放區中之訊息的尖峰數目 

不需要 

conttlrts

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

訊息平均數目 

自代理程式啟動後,儲存在記憶體和永久性存放區中之訊息的平均數目 

不需要 

conttlrts

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

訊息容量總數 

目前儲存在記憶體和永久性存放區中之訊息的容量總數 (以位元組為單位) 

不需要 

ttlrts

mq.metrics.destination.queue.queueName mq.metrics.destination.topic.topicName

訊息的尖峰容量總數 

自代理程式啟動後,儲存在記憶體和永久性存放區中之訊息的尖峰容量總數 (以位元組為單位) 

不需要 

ttlrts

mq.metrics.destination.queue.queueName mq.metrics.destination.topic.topicName

訊息的平均容量 

自代理程式啟動後,儲存在記憶體和永久性存放區中之訊息的平均容量總數 (以位元組為單位) 

不需要 

ttlrts

mq.metrics.destination.queue.queueName mq.metrics.destination.topic.topicName

訊息流量

傳入的訊息數目 

自代理程式啟動後,累積的已接收訊息數目 

不需要 

ttl

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

傳出的訊息數目 

自代理程式啟動後,累積的已傳送訊息數目 

不需要 

ttl

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

傳入的訊息容量 

自代理程式啟動後,累積的已接收訊息容量 (以位元組為單位) 

不需要 

ttl

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

傳出的訊息容量 

自代理程式啟動後,累積的已傳送訊息容量 (以位元組為單位) 

不需要 

ttl

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

訊息的尖峰容量 

自代理程式啟動後,所接收的最大單一訊息的容量 (以位元組為單位) 

不需要 

ttlrts

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

訊息傳入的速率 

目前已接收訊息流量的速率 

不需要 

rts

無 

訊息傳出的速率 

目前已傳送訊息流量的速率 

不需要 

rts

無 

訊息容量傳入的速率 

目前已接收訊息容量的流量速率 

不需要 

rts

無 

訊息容量傳出的速率 

目前已傳送訊息容量的流量速率 

不需要 

rts

無 

磁碟使用

保留的磁碟 [僅限檔案式永久性]

為目標保留的磁碟空間 (以位元組為單位) 

不需要 

dsk

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

已使用的磁碟

目前目標所使用的磁碟空間 (以位元組為單位) 

不需要 

dsk

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName

磁碟使用率

為目標保留之磁碟空間的磁碟使用率 

不需要 

dsk

mq.metrics.destination.queue. queueNamemq.metrics.destination.topic. topicName