• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    服務器:WAS 6與Websphere MQ6的整合

    發布: 2007-5-25 14:12 | 作者: 佚名 | 來源: ccidnet.com | 查看: 58次 | 進入軟件測試論壇討論

    領測軟件測試網

    WAS 6與Websphere MQ6的整合

    bromon原創 請尊重版權

        整合的目的是讓MQ作為websphere application server的JMS provider,所有的JMS消息會被was轉發到MQ隊列中,由于MQ提供了多種平臺的API,因此消息的傳遞可以不再通過轉發的方式。任何平臺都可以直接連接到MQ獲取/發送消息,減少了跨平臺消息傳遞中的不確定因素。

        首先在MQ中建立隊列管理器、消息隊列、服務器連接通道(SYSTEM.DEF.SVRCONN類型的通道)。由于was將通過CLIENT模式與MQ通信,所以有身份認證的問題,需要在通道上配置MAC用戶標識,它的值應該是運行MQ的操作系統的一個用戶名稱,該用戶應該具有管理員權限,推薦使用啟動MQ的用戶名稱。如果不配置該MAC用戶標識,那么運行was的機器必須建立一個與運行MQ完全相同的用戶/密碼來啟動was,才能提供正確的身份信息。如果采用BINDINF的傳輸模式,就不需要任何的認證信息,但是該模式只能適用于was和MQ在同一臺機器上的情況。而且一個was環境中,只能允許一個連接工廠使用BINDING模式連接,所以不推薦該模式。
        假設建立起來的隊列管理器為sobeymam,ccsid為1208(Unicode)或者1381(GB2312),通信端口為1414;建立的消息隊列為test,ccsid為1208(Unicode);服務器連接通道為s1,MAC用戶標識為bromon。

        下一步是在WAS中建立隊列連接工廠,“資源”----“JMS提供者”----“Websphere MQ”----“Websphere MQ隊列連接工廠”----“新建”。填寫以下內容:

        名稱:                        cf
        JNDI名稱:                    jms/cf
        隊列管理器:                mam
        主機:                        運行MQ的機器名或IP
        端口:                        1414(與隊列管理器的偵聽端口對應)
        通道:                        s1(與隊列管理器的服務器連接通道對應)
        傳輸類型:                    CLIENT
        取消“已起用XA”選項

        連接工廠的配置完成。

        下一步是建立隊列目標。“資源”----“JMS提供者”----“Websphere MQ”----“Websphere MQ隊列目標”----“新建”。填寫以下內容:

        名稱:                        test
        JNDI名稱:                    jms/test
        基本隊列名:                test(對應MQ中的本地隊列)
        CCSID:                        1208
        目標客戶機:                MQ

        隊列目標的配置完成。需要說明的是,目標客戶機的值決定了JMS的消息將以什么格式存放在MQ中。如果是”MQ”,那么消息將直接使用MQSTR格式,純文本的存放,任何平臺都能夠獲取消息直接顯示。如果是”JMS”,那么消息將使用MSHRF2格式存放,java平臺能夠不加處理的正常識別,其他平臺必須要做轉換才能正確獲得消息文本。推薦使用”MQ”。

        如果需要部署消息BEAN獲取MQ中的消息,那么還需要配置偵聽器端口,“服務器”----“應用服務器”----“server1”----“通信”----“消息傳遞”----“消息偵聽器服務”----“偵聽器端口”----“新建”。填寫一下內容:

        名稱:                            test
        連接工廠JNDI名:                jms/cf(對應websphere隊列連接工廠的JNDI)
        目標JNDI名:                    jms/test(對應websphere隊列目標的JNDI)
        
        偵聽器端口配置完成,部署消息bean時需提供該偵聽器名稱。

        重啟websphere使配置生效。

    編寫一個jsp嘗試發送消息:

    1.  
    2. < %@ page contentType="text/html; charset=GBK" %>
    3. < %@ page import="java.util.*"%>
    4. < %@ page import="javax.jms.*"%>
    5. < %@ page import="javax.naming.*" %>
    6. < %
    7. try
    8. {
    9.   Properties p = new Properties();
    10.   p.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
    11.   p.put(Context.URL_PKG_PREFIXES, "com.ibm.ws.naming");
    12.   p.put(Context.PROVIDER_URL, "iiop://localhost:2809/");
    13.   InitialContext ctx = new InitialContext(p);
    14.  
    15.   QueueConnectionFactory qcf = (QueueConnectionFactory) ctx.lookup("jms/cf");//連接工廠
    16.   QueueConnection conn = qcf.createQueueConnection();
    17.  
    18.   Queue q = (Queue) ctx.lookup("jms/test");//隊列
    19.   QueueSession s = conn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);
    20.   conn.start();
    21.   QueueSender sender = s.createSender(q);
    22.  
    23.   TextMessage tm=s.createTextMessage("測試websphere mq有中文字符");//創建文本消息
    24.   sender.send(tm, DeliveryMode.PERSISTENT, 4, 0);
    25.   sender.close();
    26. }catch(Exception e)
    27. {
    28.   out.println(e);
    29. }
    30. %>

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>