① 怎麼啟動websphere mq 資源管理器
安裝好了之後,Windows
任務欄會有一個」MQ
資源管理器「,我們右擊有菜單,雙擊能啟動管理器,有圖形界面操作啊。
如果是
Linux
的話,到它的目錄下
bin
去找可執行的文件,應該可以看得出來文件名的規律,比如什麼字母
開頭什麼的,容易猜測到。
② 第三方中間件MQ、websphere、webSphere的作用和應用場景
MQ處理消息的,在分布環境下擴展進程間的通信,並支持多通訊協議、語言、應用程序、硬體和軟體平台。如果消息隊列較多可以用這個
WebLogic是用於開發、集成、部署和管理大型分布式Web應用、網路應用和資料庫應用的Java應用伺服器,基於J2EE,一般用在電子商務系統。
WebSphere 是一個模塊化的平台,可以在許多平台上運行,包括 Intel、Linux 和 z/OS。它可以創建高效的電子商務站點提高了網上交易的質量和數量。 把應用擴展到聯合的移動設備上使銷售人員可以為客戶提供更方便、更快捷的服務。 整合已有的應用並提供自動簡捷的業務流程。
③ 如何使用 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 點擊完成即可。
④ 如何利用 Websphere MQ 實現大文件交換
2007年9月21日 - 本文介紹了如何利用 Websphere MQ 提供的機制,實現大文件斷點續傳,從而可以在低速網路的情況下,不會因為網路的故障而使整個大文件重新傳輸。本文介紹的這個實現可以大...
⑤ 如何正確設置IBM WebSphere MQ 實現群發消息
1.現在的問題是建立了共享隊列INPUTQ 後,在QMGRI裡面壓根看不到共享隊列。。
誰能告訴我為什麼么?
大哥你怎麼看的?QL CLUSTER屬性設置對了嗎?
DEF QL(YOURQNAME) CLUSTER(REPOS_NAME)
你看的是QCLUSTER嗎?
DIS QC(*)
2.往一個隊列管理器里的隊列里發消息,
其他的所有對立管理器的本地隊列都能收到消息
太簡單了,注意RFHUTIL裡面有個BIND屬性,不要設置成OPEN,必須是NOT_FIXED;或者多次使用amqsputc多次打開,不要一次拚命放消息,都可以看到分發效果,默認負載均衡的演算法是ROUND_ROBIN
3.好了,上面的問題解決了。。
不過現在對WebSphere MQ的功能產生了懷疑,
我真想捧腹大笑
4.應用程序只能主動去詢問MQ,指定的隊列中有消息否。要是這樣的話,那不是要輪詢指定的隊列?難道不能讓MQ將消息直接推送到應用程序么?
去看看TRIGGER, MDB有關的資料,我不想費口舌了。當你學會基礎之前STOP MAKING JUDGEMENTS.
⑥ 如何使用Web方式監控IBM WebSphere MQ-liu1rui2-ITPUB博客
監控IBM WebSphere MQ是一個長久以來的熱門話題。老式的telnet加runmqsc的方法以及資源管理器的方法對客戶機都有過多的要求,並且步驟繁瑣,資源消耗大。商品 級的監控系統(比如ITCAM)配置復雜功能強大,但是有些客戶可能不願意支付相關費用。
我這里提供一個我製作的開源、免費的基於Web的監控工具,配置極其簡單,且不需要除了WMQ本身以及Java Runtime Environment v1.5(或更高版本)以外的任何產品,可謂是超超輕量級的監控工具。此產品支持Web方式和多並發,資源消耗極低。
⑦ 有關websphere mq問題
int openOptions = MQC.MQOO_OUTPUT | MQC.MQOO_FAIL_IF_QUIESCING;
myQMgr = new MQQueueManager ("QM1");
myQueue = myQMgr.accessQueue("TESTQ", openOptions);
MQMessage myMsg = new MQMessage ();
myMsg.messageFlags = MQC.MQMF_SEGMENTATION_ALLOWED;
MQPutMessageOptions pmo = new MQPutMessageOptions ();
String strMsg = "";
for (int i=0;i<=100;i++)
strMsg = strMsg + "Hello";
myMsg.write(strMsg.getBytes());
myQueue.put(myMsg,pmo);
System.out.println("Put message:\n" + strMsg);
myQueue.close();
myQMgr.disconnect();
QMgrSegReceiver.java:
int openOptions = MQC.MQOO_INPUT_SHARED | MQC.MQOO_FAIL_IF_QUIESCING;
myQMgr = new MQQueueManager ("QM1");
myQueue = myQMgr.accessQueue("TESTQ", openOptions);
MQMessage myMsg = new MQMessage ();
MQGetMessageOptions gmo = new MQGetMessageOptions ();
gmo.options = MQC.MQGMO_COMPLETE_MSG;
myQueue.get(myMsg, gmo);
byte[] b = new byte[myMsg.getMessageLength()];
myMsg.readFully(b);
String strMsg = new String(b);
System.out.println("Got message:\n" + strMsg);
myQueue.close();
myQMgr.disconnect();
⑧ 如何在java中使用WebSphere MQ
websphere mq : 用於傳輸信息 具有跨平台的功能。
1 安裝websphere mq 並啟動
2 websphere mq 建立 queue Manager (如:MQSI_SAMPLE_QM)
3 建立queue 類型選擇 Local類型 的 (如lq )
3 建立channels 類型選擇Server Connection (如BridgeChannel)
java 代碼如下:
package test.mq;
import com.ibm.mq.*;
/*
* 成功的訪問mq 的java 類
*/
public class FirstMqTest {
// public static void main(String[] args[]){
// FirstMqTest first = new FirstMqTest();
// first.test();
// }
public static void main(String args[]){
FirstMqTest first = new FirstMqTest();
first.test();
}
public void test(){
String qManager = "MQSI_SAMPLE_QM"; //QueueManager name
String qName = "lq";//Queue Name
try {
//configure connection parameters
MQEnvironment.hostname="172.16.17.123";//MQ Server name or IP
//MQEnvironment.port=1414;//listenr port
MQEnvironment.channel="BridgeChannel";//Server-Connection Channel
MQEnvironment.CCSID =1381;
// Create a connection to the QueueManager
System.out.println("Connecting to queue manager: "+qManager);
MQQueueManager qMgr = new MQQueueManager(qManager);
// Set up the options on the queue we wish to open
int openOptions = MQC.MQOO_INPUT_AS_Q_DEF | MQC.MQOO_OUTPUT;
// Now specify the queue that we wish to open and the open options
System.out.println("Accessing queue: "+qName);
MQQueue queue = qMgr.accessQueue(qName, openOptions);
// Define a simple WebSphere MQ Message ...
MQMessage msg = new MQMessage();
// ... and write some text in UTF8 format
msg.writeUTF("Hello, World!");
// Specify the default put message options
MQPutMessageOptions pmo = new MQPutMessageOptions();
// Put the message to the queue
System.out.println("Sending a message...");
/*
* 在此測試一下 mq 的傳輸次列
*
*/
for(int j=0;j< 5;j++){
String str ="test11111111111";
str = str+j;
msg.writeUTF(str);
queue.put(msg, pmo);
}
queue.put(msg, pmo);
// Now get the message back again. First define a WebSphere MQ message
// to receive the data
MQMessage rcvMessage = new MQMessage();
// Specify default get message options
MQGetMessageOptions gmo = new MQGetMessageOptions();
// Get the message off the queue.
System.out.println("...and getting the message back again");
queue.get(rcvMessage, gmo);
// And display the message text...
String msgText = rcvMessage.readUTF();
System.out.println("The message is: " + msgText);
// Close the queue
System.out.println("Closing the queue");
queue.close();
// Disconnect from the QueueManager
System.out.println("Disconnecting from the Queue Manager");
qMgr.disconnect();
System.out.println("Done!");
}
catch (MQException ex) {
System.out.println("A WebSphere MQ Error occured : Completion Code "
+ ex.completionCode + " Reason Code " + ex.reasonCode);
}
catch (java.io.IOException ex) {
System.out.println("An IOException occured whilst writing to the message buffer: "
+ ex);
}
}
}
⑨ 如何使用 WebSphere MQ 的引用消息傳輸文件
使用引用消息傳送文件
以下操作均以admin用戶為例:
1. 將admin用戶加入administrator和mqm用戶組,重新登錄;
2. 修改MQ服務的登錄用戶為admin(如圖一),然後重新啟動MQSeries服務;
圖一
3. 修改MQ DCOM組件的登錄用戶為「啟動用戶」,這樣當以admin用戶使用MQ資源管理器時,該DCOM組件將以admin用戶的身份運行(如圖二);關閉MQ資源管理器並重新打開,以使修改生效。
圖二
圖三
4. 啟動Queue Manager,以QMA(發送文件,在MACHINE1伺服器上)和QMB(接受文件,在MACHINE2伺服器上)為例;
5. 創建MQ對象:
1)在QMA上:
define chl(chl1) chltype(sdr) trptype(tcp) conname('machine2') +
xmitq(xmitq) msgdata(FLATFILE) +
msgexit(' D:\IBM\WMQ\Tools\c\Samples\Bin\amqsxrm(MsgExit) ')
define ql(xmitq) usage(xmitq)
define chl(report) chltype(rcvr) trptype(tcp) replace
define qr(qr) rname(dq) rqmname(QMB) xmitq(xmitq) replace
2)在QMB上:
define chl(chl1) chltype(rcvr) trptype(tcp) +
msgexit(' D:\IBM\WMQ\Tools\c\Samples\Bin\amqsxrm(MsgExit) ') +
msgdata(FLATFILE)
define chl(report) chltype(sdr) trptype(tcp) conname('MACHINE1')
xmitq(QMA)
define ql(QMA) usage(xmitq)
註:如果使用MQ提供的接樣常式序amqsgrm.exe接收文件,則作以下3)之後的設置,也可另寫接受程序直接接收消息並獲得已送達數據文件的名稱。
3)在QMB上(可選):
define ql(initq)
define pro(proc) applicid('D:\IBM\WMQ\Tools\c\Samples\Bin\amqsgrm')
define ql(dq) initq(initq) process(proc) trigger trigtype(first)
在 MQ 服務中為 QMB 創建「觸發器監控器」服務,設定監控隊列為 INITQ ;並啟動;
6. 在發送端啟動發送通道chl1,在接收端啟動發送通道report;
此時所有的配置已經完成,可以使用樣例中的amqsprm.exe程序發送文件:
amqsprm -m QMA -i d:\tmp\src\srcfile.name -o d:\tmp\dest\destfile.name -q QR -t FLATFILE -w 10
7. 查驗d:\tmp\dest\destfile.name文件已經產生。