1. 使用endmqm 命令無法停止MQ隊列管理器,怎麼辦
一、WebSphere MQ命令行命令
1、停止隊列管理器
endmqm [-z] [([-c | -w | -i | -p] [-r] [-s]) | -x] QMgrName
endmqm mqm_name 使用默認選項停止隊列管理器需要等待當前的應用連接完成並斷開。
-i 立即停止隊列管理器。
-w 需要等待所有的應用停止以後才會真正關閉隊列管理器
-p 使用以上參數都無法正常停止隊列管理器的情況下可以使用該參數
2、啟動隊列管理器
strmqm [-z] [-a | -c | -r | -x] [-d none|minimal|all] [-f] [-ns] QMgrName
隊列管理器必須在完全停止時才能被啟動。
3、創建隊列管理器
crtmqm [-z] [-q] [-c Text] [-d DefXmitQ] [-h MaxHandles]
[-md DataPath] [-g ApplicationGroup]
[-t TrigInt] [-u DeadQ] [-x MaxUMsgs] [-lp LogPri] [-ls LogSec]
[-lc | -ll] [-lf LogFileSize] [-ld LogPath] QMgrName
隊列管理器名大小寫敏感且不支持空字元串,長度為48位元組,同一網路中不能有重名。
創建隊列管理器的時侯最好創建死信隊列用於存放無法發送的信息,保證通道不會因為無法發送信息而被關閉。
crtmqm -u deadq_name mqm_name
4、刪除隊列管理器
dltmqm [-z] QMgrName
刪除隊列管理器會完全刪除其所擁有的對象和相關信息,並且是不可恢復的。要刪除一個隊列管理器首先要保證他是停止的。
二、WebSphere MQ Script. (MQSC) commands
WebSphere MQ Script. (MQSC) commands是常常用來管理隊列管理器對象的。這些對象包括隊列管理器本身,隊列,名稱列表,通道,客戶端通道,監聽,服務等。使用runmqsc 隊列管理名來啟動,可以運行單個的命令,也可以通過命令集的腳本來運行。
本地隊列管理器的作用是接收遠程或本地的信息流,並將本地隊列中的信息流取出以供應用程序使用。在做這些工作之前需要定義相關的隊列管理器,隊列和通道等,而這些工作是由WebSphere MQ Script. (MQSC) commands來完整的。在Windows及linux環境下也可以通過WebSphere MQ Explorer來完成。
啟動WebSphere MQ Script. (MQSC) :runmqsc [-e] [-v] [-w WaitTime [-x] [-m LocalQMgrName]] [QMgrName]
runmqsc mqm_name。通過命令runmqsc啟動隊列管理器的命令伺服器。WebSphere MQ Explorer也能完成相同的任務。runmqsc的相關命令有三種運行方式,Verify a command without running it,Run a command on a local queue manager,Run a command on a remote queue manager。runmqsc的相關命令在解釋的時候都會以大寫來解釋,比如DEFINE,ALTER,RESET等。但是這些命令並不是大小寫敏感的。每行runmqsc命令最長只能到8個字元,可以通過-或者+連接下一行,-是從下一行的第一個字元開始,+是從下一行的第一個非空字元開始。而且所有命令與平台無關。runmqsc的標准輸入是鍵盤,標准輸出時屏幕,我們可以通過<,>重定向。例如從腳本輸入命令runmqsc </path/filename.in,將結果重定向到文件runmqsc>/path/filename.out。
1、顯示隊列管理器屬性(DISPLAY QMGR):
DISPLAY QMGR顯示當前隊列管理器的所有屬性,也可以使用DISPLAY QMGR 屬性名,單獨查看當前隊列管理器的某個特定屬性。
2、 更改隊列管理器屬性(ALTER QMGR ):
ALTER QMGR 用於更改隊列管理器的相關屬性,例如 ALTER QMGR MAXHANDS(255),這個命令將默認隊列管理器的MAXHANDS由256更改為255。
3、創建本地隊列(DEFINE QLOCAL ):
DEFINE QLOCAL Q_LOCAL_NAME,在創建隊列的時候可以定義相關屬性的值,如果沒有定義則使用默認值。也可以全部使用默認值,最後通過ALTER QLOCAL命令來修改相關屬性。在同一個隊列管理器中不能有同名的隊列,可以使用REPLACE關鍵字重建已有的隊列。
4、修改本地隊列屬性(ALTER QLOCAL):
ALTER QLOCAL Q_LOCAL_NAME NEW_ATTRIBUTE。已經定義了的本地隊列可以使用ALTER QLOCAL 命令對其屬性進行修改。
5、顯示本地隊列屬性(DISPLAY QLOCAL):
DISPLAY QLOCAL Q_LOCAL_NAME ATTRIBUTE。此命令用於顯示本地隊列的屬性,可以使用默認的顯示全部屬性,也可以顯示指定的屬性。
6、復制本地隊列(DEFINE QLOCAL NEW LIKE OLD):
DEFINE QLOCAL NEW LIKE OLD。此命令可以創建一個屬性與OLD完全一樣的本地隊列。當然,我們也可以在語句後面指定屬性的詳細信息,沒有指定的則繼承OLD的對應屬性,指定了的則使用新的屬性。
7、清除本地隊列中的消息(CLEAR QLOCAL):
CLEAR QLOCAL Q_LOCAL_QUEUE。此命令用於清除本地隊列中存儲的信息。在清除信息的時候系統不會給出任何提示,而是直接把信息刪除。在一下兩種情況下不能使用CLEAR QLOCAL,本地隊列中存儲的有在最近一次隊列同步以後未提交的信息,有應用程序打開使用本地此隊列。
8、刪除本地隊列(DELETE QLOCAL):
DELETE QLOCAL Q_LOCAL_QUEUE。此命令用於刪除本地隊列,當本地隊列中存在有沒有提交的數據此隊列不能刪除。如果隊列中存在數據,且數據是提交了的,可以使用PURGE關鍵字刪除本地隊列。例如DELETE QLOCAL (Q_LOCAL_QUEUE) PURGE,在刪除的時候可以指定NOPURGE關鍵字代替PURGE以保護刪除的隊列中可能存在的已提交數據。
三、PCF commands
PCF commands允許管理員通過編程的方式將MQ的日常管理任務集成在程序中。包括創建隊列,預定義隊列,更改隊列管理器等, PCF commands與MQSC鎖實現的功能是相同。
2. 如何使用 WebSphere MQ 6.0 資源管理器管理遠程隊列管理器
1、隊列管理器需要定義一個用於連接隊列管理器的伺服器連接通道。與5.3版本不同的是,這個通道不一定是SYSTEM.ADMIN.SVRCONN。該通道的名字可以隨意定義,在設置遠程管理的時候在 WebSphere MQ 資源管理器中指定即可。需要注意的是,啟動WebSphere MQ 資源管理器的機器上的當前用戶可能沒有訪問隊列管理器對象的許可權,導致 MQ 資源管理器無法管理遠程隊列管理器。簡單的方法是在定義伺服器連接通道的時候設置該通道的 MCAUSER 屬性為mqm組中的用戶。
DEFINE CHANNEL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) TRPTYPE(TCP) MCAUSER(單引號mqm單引號)
(郁悶啊,單引號居然會被轉掉,記住上面要用單引號)
2、隊列管理器需要定義一個名為 SYSTEM.MQEXPLORER.REPLY.MODEL 的臨時模型隊列以和MQ 資源管理器通信:
DEFINE QM(SYSTEM.MQEXPLORER.REPLY.MODEL) DEFTYPE(TEMPDYN)
3、隊列管理器需要啟動命令伺服器
strmqcsv <QMNAME>
4、隊列管理器需要啟動偵聽:
DEFINE LISTENER(TCP.LSTENER) TRPTYPE(TCP) PORT(1414)
START LISTENER(TCP.LISTENER)
如果遠程隊列管理器是在Windows下用圖形界面建立的,則1、2、3步都已經默認做好了。只需要做第4步即可
完成以上步驟後,就可以在 MQ 資源管理器中按照下面步驟連接隊列管理器:
1、打開 WebSphere MQ 資源管理器;右鍵點擊隊列管理器導航器中的隊列管理器文件夾,選擇「顯示/隱藏隊列管理器」:
2、在彈出的「顯示/隱藏隊列管理器」對話框中選擇「添加」按鈕:
3、在「添加隊列管理器」對話框中選擇直接連接,並輸入隊列管理器名稱(一定要和遠程隊列管理器名稱一致),然後點擊下一步:
4、填入主機名或 IP 地址、隊列管理器偵聽埠、以及伺服器連接通道,然後點擊完成即可。
間接接連接設置步驟
WebSphere MQ 資源管理器不但可以通過直接連接管理遠程隊列管理器,還可以通過隊列管理器間接管理一個隊列管理器。其基本原理為:作為間接隊列管理器的隊列管理能將消息路由自動到目標隊列管理器。其設置方法如下:
仍然延續前面的例子,我們將實現MQ 資源管理器對與 ERP.QM1 在同一台機器的另外一個隊列管理器 ERP.QM2 的遠程管理。
1、在隊列管理器 ERP.QM2 上進行如下設置:
/* 定義/啟動偵聽 */
DEF LISTENER(TCP.LISTENER) TRPTYPE(TCP) PORT(1415)
START LISTENTER(TCP.LISTENER)
/* 定義與ERP.QM1 同名的傳輸隊列 */
DEF QL(ERP.QM1) USAGE(XMITQ) TRIGGER TRIGTYPE(FIRST) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(QM2.TO.QM1)
/* 定義ERP.QM2 到 ERP.QM1 的發送通道*/
DEF CHANNEL(QM2.TO.QM1) CHLTYPE(SDR) TRPTYPE(TCP) CONNAME(9.181.159.231) XMITQ(ERP.QM1)
/* 定義ERP.QM1 到 ERP.QM2 的接收通道*/
DEF CHANNEL(QM1.TO.QM2) CHLTYPE(RCVR) TRPTYPE(TCP)
2、在隊列管理器 ERP.QM1 上進行如下設置:
/* 定義與目標隊列管理器同名的傳輸隊列 */
DEF QL(ERP.QM2) USAGE(XMITQ) TRIGGER TRIGTYPE(FIRST) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(QM1.TO.QM2)
/* 定義ERP.QM1 到 ERP.QM2 的發送通道*/
DEF CHANNEL(QM1.TO.QM2) CHLTYPE(SDR) TRPTYPE(TCP) CONNAME('9.181.159.231(1415)') XMITQ(ERP.QM2)
/* 定義ERP.QM1 到 ERP.QM2 的接收通道*/
DEF CHANNEL(QM2.TO.QM1) CHLTYPE(RCVR) TRPTYPE(TCP)
3、啟動隊列管理器 ERP.QM2 的命令伺服器:
strmqcsv ERP.QM2
配置遠程管理:
1、打開 WebSphere MQ 資源管理器;右鍵點擊隊列管理器導航器中的隊列管理器文件夾,選擇「顯示/隱藏隊列管理器」:
2、在彈出的「顯示/隱藏隊列管理器」對話框中選擇「添加」按鈕:
3、在「添加隊列管理器」對話框中選擇「使用中間隊列管理器進行連接」,並輸入隊列管理器名稱,然後點擊下一步:
4、在中間隊列管理器下拉選項中選擇 ERP.QM1 點擊完成即可。
3. websphere自帶jdk能使用jps,jstat等命令嗎
試試這個方法:
不能,jps和jstat皆為sun jdk的命令,IBM jdk沒有這些命令!
4. 如何在linux中安裝websphere
按照以下步驟下載和安裝示例 SysVInit 腳本:下載示例腳本。
作為根用戶(或通過使用 sudo 命令)把此文件保存到系統上的 /etc/init.d 目錄中,把它命名為 websphere_sysvinit.sh。
使用文本編輯器編輯它,把 ADMINUSER 和 PASSWORD 改為 在安裝過程中定義的管理用戶名和密碼 並保存這些修改。
作為根用戶或使用 sudo 命令,使用以下命令設置文件的可執行許可權:
chmod 755 /etc/init.d/websphere_sysvinit.sh
通過使用下面這樣的命令,在與系統的默認運行級相關聯的目錄中創建此文件的符號鏈接(/etc/rc5.d 目錄通常用於圖形化系統,/etc/rc3.d 目錄用於使用文本控制台的系統):
ln -s /etc/init.d/websphere_sysvinit.sh /etc/rc5.d/S85ibm-was
ln -s /etc/init.d/websphere_sysvinit.sh /etc/rc5.d/K15ibm-was
在下一次關閉系統時,這里創建的 K15ibm-was 符號鏈接會在關閉過程中自動停止 WebSphere Application Server。在下一次啟動系統時,S85ibm-was 符號鏈接會在啟動過程中自動啟動 WebSphere Application Server。