Websphere Application Server(版本:8.0.0.3)JMS配置(m...

1.         總線配置 html

服務集成>總線  java

建立總線,建立時去除「總線安全性」選項,避免客戶端請求時的安全攔截; web

總線 > mybus(總線名稱) > 總線成員 安全

建完後,添加總線成員,選擇「服務器」下拉項中的當前server,完成添加 服務器

總線 > mybus > 目標 spa

添加隊列,隊列名稱自定義,如MyBusQueue .net

 

注: unix

總線 > mybus > 消息傳遞引擎 > Node01.server1-mybus > 隊列點 orm

可查看當前消息隊列中的消息數量 server

總線 > mybus > 消息傳遞引擎 > Node01.server1-mybus > 隊列點 > MyBusQueue@Node01.server1-mybus > 消息

可查看消息隊列中的詳情

 

2.         隊列鏈接工廠配置

資源>JMS>隊列鏈接工廠

新建「缺省消息傳遞提供程序」類型鏈接工廠:

名稱:ConnectionFactory

JNDI: jms/MyConnectionFactory

類別:javax.jms.ConnectionFactory

總線名稱:mybus(第一步新建的bus

其餘默認,建立完成

 

3.         隊列配置

資源>JMS>隊列

新建「缺省消息傳遞提供程序」類型隊列:

名稱:MyMDBQueue

JNDIjms/MyMDBQueue

總線名稱:mybus(第一步新建的bus

隊列名稱:選擇MyBusQueue(第一步新建的隊列名稱)

其餘默認,建立完成

 

4.         激活規範配置

資源>JMS>激活規範

新建「缺省消息傳遞提供程序」激活規範:

名稱:MyActivationSpec

JNDI 名稱:eis/MyMDBQueue_Act_Spec

目標類型:隊列

目標JNDI 名稱:jms/MyMDBQueue(第三步新建的隊列JNDI

總線名稱:mybus(第一步新建的bus

其餘默認,建立完成

 

5.         JMS應用部署配置

應用程序>應用程序類型>WebSphere企業應用程序

安裝MDBTest.ear,默認安裝完成

企業應用程序 > MDBTest > 消息驅動的 bean 偵聽器綁定

目標資源 JNDI 名稱:eis/MyMDBQueue_Act_Spec

目標 JNDI 名稱:jms/MyMDBQueue

 

配置完成,從新啓動Websphere Application Server,保證配置生效

應用代碼下載:  MDBTest.rar  

實際只適用了上面包中的一個MDB 


客戶端:

Client代碼:

            Properties env1 = new Properties();

           

            env1.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");

           

            env1.put(Context.PROVIDER_URL, "corbaloc:iiop:192.168.160.13:2809"); // server port is 2809

           

            String qcfName = "jms/MyConnectionFactory";

           

            Context context = new InitialContext(env1);

           

            QueueConnectionFactory qConnectionFactory = (QueueConnectionFactory)context.lookup(qcfName);

            Queue queue = (Queue)context.lookup("jms/MyMDBQueue");

            QueueConnection qConnection = qConnectionFactory.createQueueConnection();

            QueueSession qSession = qConnection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

           

            qSession.createSender(queue);

           

            QueueSender sender = qSession.createSender(queue);

            TextMessage message = qSession.createTextMessage();

            for (int i = 0; i < 10; i++) {

                String messageToSend = "MESSAGE: " + i;

                message.setText(messageToSend);

                // message.setJMSReplyTo(resQueue); // 應答隊列

                sender.send(message);

                System.out.println("[dzmonkey] INSIDE JMS SERVLET: MESSAGE -> \"" + message.getText() + "\"");

                String messageID = message.getJMSMessageID();

                boolean bDelivered = message.getJMSRedelivered();

                System.out.println("[dzmonkey] INSIDE JMS SERVLET: MESSAGE ID -> \"" + message.getText() + ":"

                    + messageID + ":" + bDelivered + "\"");

            }

            sender.close();

            qSession.close();

        qConnection.close();

 

 

依賴:

WAS自帶JDK

com.ibm.ws.ejb.thinclient_8.0.0.jar

com.ibm.ws.orb_8.0.0.jar

com.ibm.ws.sib.client.thin.jms_8.0.0.jar

 


參考:

http://www.ibm.com/developerworks/websphere/library/techarticles/0504_barcia/0504_barcia.html

相關文章
相關標籤/搜索