![]() | |
Sun Java System Message Queue 3 2005Q4 管理指南 |
第 13 章
指令行參照本章提供使用 Message Queue 指令行管理公用程式的參照資訊。它包含下列各節:
指令行語法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
將代理程式連線至叢集1
指定的代理程式會與 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
無
將配置變更記錄備份至檔案1
請參閱管理配置變更記錄,以獲得更多資訊。
-restore fileName
無
從備份檔案復原配置變更記錄1
此備份檔案必須已使用 -backup 選項事先建立。
請參閱管理配置變更記錄,以取得更多資訊。
-remove instance
無
移除代理程式實例2
刪除此實例配置檔案、記錄檔、永久存放區以及與此實例相關的其他檔案和目錄。
-password keyPassword
imq.keystore.password
SSL 憑證金鑰存放區的密碼3
-dbuser userName
imq.persist.jdbc.user
JDBC 型永久資料存放區的使用者名稱
-dbpassword dbPassword
imq.persist.jdbc.password
JDBC 型永久資料存放區的密碼3
-ldappassword ldapPassword
imq.user_repository.ldap.password
LDAP 使用者儲存庫的密碼3
-passfile filePath
imq.passfile.enabled
imq.passfile.dirpath
imq.passfile.name密碼檔案位置
將代理程式的 imq.passfile.enabled 特性設為 true,imq.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 時,自動移除舊的資料存放區2
請參閱「Message Queue Installation Guide」,以取得更多資訊。
-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
無
顯示版本資訊4
-h | -help
無
顯示用法說明4
1 此選項僅適用於代理程式叢集。
2 除非也指定了 -force,否則此選項會要求使用者確認。
3 此選項已經停用而且會永遠移除。改為完全省略密碼 (如此指令就會以互動方式提示您輸入密碼),或使用 -passfile 選項,指定包含密碼的密碼檔案。
4 忽略指令行上指定的任何其他選項。
指令公用程式指令公用程式 (imqcmd) 可用於管理代理程式、連線服務、連線、實體目標、長期訂閱與作業事件。
所有 imqcmd 指令都必須包含子指令 (除了使用 -v 或 -h 選項以顯示產品版本資訊或用法說明以外)。此處會列出可能的子指令,還會在以下各節詳細地說明。在所有情況下,如果子指令接受代理程式位址 (-b 選項),而且未指定主機名稱或連接埠號,則預設會假設為 localhost 與 7676。
代理程式管理
要使用代理程式公用程式 (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
重新載入叢集配置1
強制更新所有永久性資訊以保持最新的狀態。
query bkr -b hostName:portNumber
列出代理程式特性值
還會列出所有連線至叢集中指定代理程式的執行中代理程式。
metrics bkr [-b hostName:portNumber]
[-m metricType]
[-int interval]
[-msp numSamples]顯示代理程式度量
-m 選項可指定要顯示的度量類型:
ttl 傳入和傳出代理程式的訊息與封包。
rts 代理程式的訊息與封包每秒傳入和傳出的速率
cxn 連線、虛擬記憶體堆疊與執行緒
預設值:ttl。
-int 選項可指定顯示度量的間隔 (以秒為單位)。預設值:5。
-msp 選項可指定要顯示的範例數目。預設值:不限制 (無限)。
1 此選項僅適用於代理程式叢集。
連線服務管理
表 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 (目標類型) 選項可使用下列兩項值之一:
q 佇列目標
t 主題目標
表 13-5 實體目標管理的指令公用程式子指令
語法
說明
create dst -t destType -n destName
[-o property1=value1]
[ [-o property2=value2]...]建立實體目標1
目標名稱 destName 可能僅包含字母數字字元 (無空格),而且必須以字母字元或底線 (_) 或錢幣符號 ($) 開頭。而可能不會以 mq 字元開頭。
destroy dst -t destType -n destName
銷毀實體目標1
此作業不適用於由系統建立的目標,例如,停用的訊息佇列。
pause dst [-t destType -n destName]
[-pst pauseType]暫停將訊息傳送給實體目標
暫停將訊息傳送給利用 -t 與 -n 選項指定的實體目標。如果未指定這些選項,就會暫停所有目標。
pst 選項可指定要暫停的訊息傳送類型:
CONSUMERS 暫停傳送給訊息用戶
PRODUCERS 暫停傳送給訊息產生者
ALL 暫停所有訊息傳送
預設值:ALL
resume dst [-t destType -n destName]
繼續將訊息傳送給實體目標
繼續將訊息傳送給利用 -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 選項可指定要顯示的範例數目。預設值:不限制 (無限)。
1 不能在主代理程式暫時無法使用的代理程式叢集上,執行此作業。
長期訂閱管理
表 13-6 列出可管理長期訂閱的 imqcmd 子指令。
表 13-6 長期訂閱管理的指令公用程式子指令
語法
說明
destroy dur -c clientID
-n subscriberName銷毀長期訂閱1
purge dur -c clientID
-n subscriberName清除長期訂閱的所有訊息
list dur -d topicName
列出主題的長期訂閱
1 不能在主代理程式暫時無法使用的代理程式叢集上,執行此作業。
作業事件管理
表 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
認證的密碼1
-passfile path
密碼檔案位置
請參閱使用密碼檔案,以取得更多資訊。
-rtm timeoutInterval
初始逾時間隔 (以秒為單位)
重試請求之前,指令公用程式等待代理程式回覆的初始時間長度。每次後續重試都會使用逾時間隔,而此間隔為此初始間隔的倍數。
預設值:10。
-rtr numRetries
代理程式請求逾時之後的重試次數
預設值:5。
-javahome path
替代 Java 執行階段的位置
預設值:使用安裝在系統上或是隨附於 Message Queue 的執行階段。
-f
執行動作而無需使用者確認
-s
無訊息模式 (不顯示輸出)
-v
-h
-H
1 此選項已經停用而且會永遠移除。改為完全省略密碼 (如此指令就會互動提示要輸入密碼) 或使用 -passfile 選項以指定包含密碼的密碼檔案。
2 忽略指令行上指定的任何其他選項。
3 此選項不需要使用者名稱與密碼。
物件管理員公用程式物件管理員公用程式 (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
顯示版本資訊1
-h
顯示用法說明1
-H
顯示延伸用法說明,包括屬性清單與範例1
1 忽略指令行上指定的任何其他選項。
資料庫管理員公用程式資料庫管理員公用程式 (imqdbmgr) 可設定 JDBC 型永久資料存放區的資料庫模式。您也可以用它刪除已損毀的 Message Queue 資料庫表格,或變更資料存放區。表 13-11 列出了可用子指令。
表 13-12 列出了 imqdbmgr 指令的選項。
表 13-12 資料庫管理員選項
選項
說明
-b instanceName
代理程式的實例名稱
-Dproperty=value
設定代理程式配置特性
請參閱永久性特性,以取得與永久性相關的代理程式配置特性之資訊。
注意:請仔細檢查使用此選項設定的特性的拼寫與格式。不正確的值會被忽略,不會另行通知或警告。
-u name
認證的使用者名稱
-p password
認證的密碼1
-passfile path
密碼檔案位置
請參閱使用密碼檔案,以獲得更多資訊。
-v
顯示版本資訊2
-h
顯示用法說明2
1 此選項已經停用而且會永遠移除。改為完全省略密碼 (如此指令就會互動地提示要輸入密碼) 或使用 -passfile 選項以指定包含密碼的密碼檔案。
2 忽略指令行上指定的任何其他選項。
使用者管理員公用程式使用者管理員公用程式 (imqusermgr) 可用以寫入或編輯平面檔案使用者儲存庫。此公用程式必須在安裝代理程式的同一台主機上執行;如果代理程式特有的使用者儲存庫尚不存在,您必須先啟動相對的代理程式實例才能建立。您也需要適當的權限以寫入儲存庫:在 Solaris 或 Linux 平台上,這表示您必須作為超級使用者或最初建立該代理程式實例的使用者。
表 13-13 列出可與 imqusermgr 指令一起使用的子指令。在所有情況下,-i 選項可指定指令要對其套用使用者儲存庫的代理程式實例名稱;如果未指定,就會假設為預設名稱 imqbroker。
此外,表 13-14 中所列出的選項,可套用至 imqusermgr 指令的任何子指令。
表 13-14 一般使用者管理員選項
選項
說明
-f
執行動作而無需使用者確認使用者執行動作。
-s
無訊息模式 (不顯示輸出)
-v
顯示版本資訊1
-h
顯示用法說明1
1 忽略指令行上指定的任何其他選項。
服務管理員公用程式服務管理員公用程式 (imqsvcadmin) 可將代理程式安裝為 Windows 服務。表 13-15 列出了可用的子指令。
表 13-15 服務管理員子指令
子指令
說明
install
安裝服務
remove
移除服務
query
顯示啟動選項
啟動選項可包括服務是手動啟動還是自動啟動、服務的位置、Java 執行階段的位置,以及啟動時傳送至代理程式的引數值。
表 13-16 列出了 imqsvcadmin 指令的選項。
表 13-16 服務管理員選項
選項
說明
-javahome path
替代 Java 執行階段的位置
預設值:使用安裝在系統上或是隨附於 Message Queue 的執行階段。
-jrehome path
替代 Java 執行階段環境 (JRE) 的位置
-vmargs arg1 [ [arg2]...]
要傳送給執行代理程式服務的 Java 虛擬機器的其他引數1
範例︰
imqsvcadmin install -vmargs "-Xms16m -Xmx128m"
-args arg1 [ [arg2]...]
要傳送給代理程式服務的其他指令行引數1
範例︰
imqsvcadmin install -args "-passfile d:\imqpassfile"
請參閱代理程式公用程式,以取得有關代理程式指令行引數的資訊。
-h
顯示用法說明2
1 也可以在服務的 [內容] 視窗中,於 [一般] 標籤下方的 [啟動參數] 欄位中,指定這些引數 (可透過 Windows [系統管理工具] 控制面板中的 [服務] 工具取得)。
2 會忽略指令行上指定的任何其他選項。
您使用 -javahome、-vmargs 和 -args 選項指定的任何資訊,都會儲存在 Windows 登錄檔中的金鑰 JREHome、JVMArgs 和 ServiceArgs 下,路徑為:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iMQ_Broker\Parameters
金鑰工具公用程式金鑰工具公用程式 (imqkeytool) 會產生自身簽名憑證,此憑證可用於 ssljms、ssladmin 或 叢集連線服務。語法為:
imqkeytool -broker
若為 UNIX 系統,會需要從 superuser (超級使用者) 帳號執行公用程式。