如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
WebSphereMQ程式設計初探IBM的WebSphereMQ產品可以用來方便地實現分散式異構系統之間的消息傳遞。對於大型的分散式系統,使用MQ進行資料通信是可以說是非常有效的,而且適用於異構環境(如NT和多種UNIX之間通信)。本文主要介紹:MQ的核心組件介紹、MQ環境的搭建以及利用JAVA對MQ佇列管理器的操作的程式設計,希望能起到抛磚引玉的作用。第一部分、MQ的核心組件介紹MQ的核心組件包括:佇列管理器(QueueManager)、佇列(Queue)、通道(Channel)、消息(Message)和集群(Cluster)。佇列管理器(QueueManager)提供佇列服務,管理屬於該佇列管理器的佇列和通道等所有MQ物件。佇列(Queue)是用於存儲消息(Message)的資料結構,有四種類型:本地佇列(LocalQueue)、遠端佇列(RemoteQueue)、別名佇列(AliasQueue)和模型佇列(ModelQueue),最常用到的是本地佇列和遠端佇列。通道(Channel)是提供了從一個佇列管理器到其他佇列管理器的資料傳輸路徑。通道類型有若干種,其中常用的是發送方通道(SenderChannel)和接收方通道(ReceiverChannel)。消息(Message)是應用程式之間傳遞的一系列位元組資料,MQ傳遞的消息有兩部分組成:消息描述符(MessageDescriptor)和應用資料(ApplicationData)。預設最大傳遞的消息大小是4MB,可以根據需要進行設置,最大可到100MB。集群(Cluster)是分散式網路上的多個佇列管理器的集合。(本文不涉及集群的具體內容)第二部分、MQ環境的搭建本文搭建的環境以Windows平臺為例,涉及其他平臺的請讀者查閱相關文檔。具體搭建步驟:1、根據安裝嚮導安裝IBMWebSphereMQv5.3軟體,安裝路徑為:D:IBMWebSphereMQ。2、安裝成功後,請使用命令echo%classpath%檢查classpath變數中是否已經把D:IBMWebSphereMQJavalib下面的jar檔包含進來,如沒有包括請進行手工添加,本文要用到的2個關鍵的是:com.ibm.mq.jar和connector.jar。使用echo%path%檢查path變數中是否已經把D:IBMWebSphereMQbin包含進來,如沒有包括請進行手工添加。3、創建一個配置文字檔,檔案名為config.txt,內容如下(請讀者到附件下載):*更改QM的字元集編碼(CCSID)ALTERQMGRFORCECCSID(1381)*定義本地佇列DEFINEQLOCAL('LQ_SAMPLE')REPLACE+USAGE(normal)+DEFPSIST(YES)4、創建一個批次檔,檔案名為mqsetup.bat,內容如下(請讀者到附件下載):rem創建缺省佇列管理器,擁有100個控制碼,使用線性迴圈日誌,容量為1024×4K/文件,主文件10個,輔文件20個echoCreatingQM_SAMPLEcrtmqm-t5000-h100-lc-lf1024-lp10-ls20-qQM_SAMPLErem設置cpu個數為1setmqcap1rem啟動佇列管理器echoStartingQueueManagerstrmqmQM_SAMPLErem從設定檔中讀入初始化命令echoRunningconfigrunmqscQM_SAMPLE<config.txtrem停止佇列管理器amqmdainendQM_SAMPLErem將佇列管理器設置為自動啟動amqmdainautoQM_SAMPLErem創建佇列偵聽器,使用1414埠amqmdaincrtlsrQM_SAMPLE-tTCP-p1414rem修改MQ參數,採用AdoptNewMCA方式amqmdainregQM_SAMPLE-cadd-sChannels-vAdoptNewMCA=ALLrem修改MQ參數,採用KeepAlive方式amqmdainregQM_SAMPLE-cadd-sTCP-vKeepAlive=Yesrem重新開機佇列管理器amqmdainstartQM_SAMPLE5、運行mqsetup.bat,檢查運行結果輸出是否無誤,如有錯誤,請仔細根據上述步驟進行檢查並糾錯。6、在命令視窗中,輸入dspmq,看是否顯示如下結果:QMNAME(QM_SAMPLE)STATUS(正在運行)7、在命令視窗中,輸入runmqsc回車,進入mq交交互操作環境,輸入displayqueue(LQ_SAMPLE),看是否顯示如下結果:AMQ8409:顯示佇列細節。DESCR(WebSphereMQDefaultLocalQueue)PRO