Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1053501
  • 博文数量: 155
  • 博客积分: 5339
  • 博客等级: 大校
  • 技术积分: 1436
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-10 21:41
文章分类

全部博文(155)

文章存档

2016年(3)

2015年(7)

2014年(3)

2013年(1)

2012年(8)

2011年(5)

2010年(1)

2009年(5)

2008年(4)

2007年(26)

2006年(46)

2005年(46)

分类: Java

2012-05-03 23:52:18

 

1.         总线配置

服务集成>总线 

创建总线,创建时去除“总线安全性”选项,避免客户端请求时的安全拦截;

总线 > mybus(总线名称) > 总线成员

建完后,添加总线成员,选择“服务器”下拉项中的当前server,完成添加

总线 > mybus > 目标

添加队列,队列名称自定义,如MyBusQueue

 

注:

总线 > mybus > 消息传递引擎 > Node01.server1-mybus > 队列点

可查看当前消息队列中的消息数量

总线 > mybus > 消息传递引擎 > Node01.server1-mybus > 队列点 > MyBusQueue@Node01.server1-mybus > 消息

可查看消息队列中的详情

 

2.         队列连接工厂配置

资源>JMS>队列连接工厂

新建“缺省消息传递提供程序”类型连接工厂:

名称:ConnectionFactory

JNDI: jms/MyConnectionFactory

类别:javax.jms.ConnectionFactory

(第一步新建的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

 

阅读(5120) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~