没有合适的资源?快使用搜索试试~ 我知道了~
首页WebSphere MQ开发JMS
资源详情
资源评论
资源推荐
在介绍如何配置服务器之前,我们先看一下使用了本文所描述的配置的示例代码(下载本文后面的示例应用程序)。
我们的示例应用程序 JMSExample 不是一个完整的应用程序,而是几个简单的 Enterprise JavaBean (EJB) 组件,
它们演示了如何使用 JMS 来发送和接收消息。完整的应用程序将使用这样的类来让应用程序能够使用消息传递。为了
理解该示例的工作方式,我们将检查这些类及其部署描述符。检查这段代码的一种简单方式是将 EAR 文件导入
Application Developer(请参阅 Deploying message-driven beans and JMS applications into the Service
Integration Bus)。
检查类
JMSExample 中的类实现了下面的图 1 所列出的 EJB 组件。
图 1. 示例类中的 EJB
EJB
描述
MessageProducerSSBBean
创建和发送消息的无状态会话 Bean。将这段代码封装在一个 EJB 中可以使该代码
拥有自己的环境引用来访问 JMS 资源。在完整的应用程序中,将消息传递代码封装
在一个 EJB 组件中可以使该 EJB 容器能够管理消息传递提供程序和其他事务性资源
(如数据库)之间的事务。
该 Bean 有两个公共方法:sendMessage(String) 和
publishMessage(String),它们分别用于向示例的队列或主题添加包含某些文本
的消息。由于 JMS 1.1 将点到点和发布/订阅消息传递域统一起来,因此为了避免
重复代码,这两个方法只需调用第三个方法——私有方法
produceMessage(String, String, String)——来完成创建消息和将消息添加到队
列或主题的所有工作。
ReceiverMDBBean
一个消息驱动 Bean (MDB),配置为侦听示例队列中的所有消息。当接收到一个消
息时,它会将输出打印到 System.out 来显示消息内容。
SubscriberNDMDBBean
一个 MDB,配置为非持久订户,用于侦听示例主题中的消息。与
ReceiverMDBBean 一样,这个 Bean 也显示它接收到的消息内容。
SubscriberDMDBBean
一个 MDB,和 SubscriberNDMDBBean 一样侦听相同的主题,但作为持久订
户。因为我们有两个 Bean 类与该主题相关联,所以有两个 Bean 池(两组 MDB
实例),每个 Bean 池都将接收任何已发布的消息,表明主题确实将每个消息广播
给所有订户。
检查部署描述符
EJB 组件是在具有环境引用的 EJB 部署描述符中配置的,它使得 EJB 可以通过它们的 Java Naming and Directory
Interface (JNDI) 名称访问服务器资源。这些引用(如下所示)可以在 EJB Deployment Descriptor 编辑器(图
2)中看到。
图 2. EJB Deployment Descriptor 编辑器
EJB
环境引用
MessageProducerSSBBean
由于定义了以下三个环境引用,使得它可以访问发送消息时需要的 JMS 提供程序资
源:
1. jms/JMSExampleConnectionFactoryRef——用关键字
jms/JMSExampleConnectionFactory 来引用 JNDI 目录中绑定的 JMS
ConnectionFactory。
2. jms/JMSExampleQueueRef——用关键字 jms/JMSExampleQueue
来引用 JNDI 目录中绑定的 JMS Queue。
3. jms/JMSExampleTopicRef——用关键字 jms/JMSExampleTopic 来
引用 JNDI 目录中绑定的 JMS Topic。
ReceiverMDBBean
目的地类型 = "Queue"
侦听器端口 = "JMSExampleQueuePort"
SubscriberNDMDBBean
目的地类型 = "Topic"
订户持久性 = "NonDurable"
侦听器端口 = "JMSExampleTopicPort"
SubscriberDMDBBean
目的地类型 = "Topic"
订户持久性 = "Durable"
侦听器端口 = "JMSExampleTopicPort"
这两个订户池将共享相同的侦听器端口。
配置 WebSphere MQ
既然我们熟悉了 JMS 示例应用程序,就可以安装 WebSphere MQ,以便 WebSphere Application Server 能够把
它作为 JMS 提供程序。
要在 WebSphere Application Server 中使用 WebSphere MQ 提供程序,必须安装 WebSphere MQ。我们假定
在同一台服务器上安装了 WebSphere Application Server 和 MQ,并且应用程序将使用绑定传输模式来进行连接。
我们作出这样的假定有两个原因:
简单
在应用服务器上本地安装 WebSphere MQ 使得示例更加简单。这允许 WebSphere Application Server
使用绑定传输模式连接到 WebSphere MQ,而不必使用客户机连接模式,前者使用 Java Native
Interface (JNI) 库来直接连接到 MQ 队列管理器,而后者是通过 TCP/IP 网络连接来建立连接的。
实用
一般来说,使用客户机模式访问 WebSphere MQ 是不得已才为之的。通常消息传递应用程序(在本例中是
一个在 WebSphere Application Server 中运行的 J2EE 应用程序)与 WebSphere MQ 不在同一台计算
机上运行,所以应用程序必须使用同步的、可靠性较差的 TCP/IP 网络连接来连接到它的异步的、可靠性很
高的消息传递系统上。然而,WebSphere Application Server V6 包括 Service Integration Bus 和
WebSphere MQ 链接;可以将这二者结合使用以作为连接到 WebSphere MQ 的桥梁,从而提供一个比
使用客户机模式质量更高的方法。因此,请在绑定模式下使用 WebSphere MQ,或者使用 WebSphere
MQ 链接,而不要使用客户机模式。
创建队列管理器和队列
在 WebSphere MQ Explorer(图 3)中:
1. 导航到 Queue Managers 文件夹。
2. 以缺省设置新建一个名为 QMGR 的队列管理器。(按照惯例,TCP/IP 侦听器端口的端口号应该为 1414,但
由于我们使用绑定传输模式,所以该端口是可选的。)当 WebSphere Application Server 将应用程序连
接到 WebSphere MQ 时,它会将该应用程序连接到此队列管理器。
3. 导航到 QMGR 的 Queues 文件夹。
4. 以缺省设置新建一个名为 EXAMPLE.QUEUE 的本地队列。应用程序将使用该队列来执行点到点消息传递。
图 3. 新队列管理器和本地队列
为发布/订阅配置 WebSphere MQ
WebSphere MQ V5.3 不包含对发布/订阅消息传递的支持,但您可以通过安装 MA0C SupportPac: WebSphere
MQ (MQSeries) Publish/Subscribe 来添加这种支持,我们假定您将使用这个支持包。最近的 WebSphere MQ 修
复包(以 CSD08 打头)包含该 MA0C SupportPac。(运行 mqver 查看 WebSphere MQ 的版本号。)如果安装
没有包含 SupportPac,则可以将它添加进来(请参阅参考资料以找到它的下载位置。)如果您使用独立的发布/订阅
产品,例如 WebSphere Business Integration Event Broker 或 Message Broker,则本文显示的一些
WebSphere Application Server 配置设置将有所不同。
在安装 MA0C SupportPac 之后,需要配置并启动它:
1. 定义 JMS 发布/订阅管理队列:
C:\WebSphere MQ\bin> runmqsc QMGR < ..\Java\bin\MQJMS_PSQ.mqsc
2. 启动代理并确认它正在运行:
C:\WebSphere MQ\bin> strmqbrk -m QMGR
MQSeries Publish/Subscribe broker started for queue manager QMGR.
C:\WebSphere MQ\bin> dspmqbrk -m QMGR
MQSeries Publish/Subscribe broker for queue manager QMGR running.
我们已经安装好 MA0C SupportPac,定义了管理队列,并启动了代理。现在 WebSphere MQ 可以用于发布/订阅
功能了,它为应用程序用来执行发布/订阅消息传递的主题实现代理。
配置应用服务器
要配置 WebSphere Application Server 以将 WebSphere MQ 作为其 JMS 提供程序使用,需要执行这些常规步骤:
1. 启动应用服务器
2. 查看 WebSphere MQ 消息传递提供程序面板
3. 定义 JMS 连接工厂
4. 定义 JMS 队列
5. 定义 JMS 主题
6. 定义侦听器端口
1. 启动应用服务器
a. 如果您使用 Application Developer 来启动 WebSphere Application Server,请切换到 Servers 视图,
选择该服务器,并按 Start 按钮。(图 4)
图 4. 启动服务器
要从 OS 命令行启动 WebSphere Application Server,请运行 startServer 脚本(假定
您使用缺省概要来创建服务器,并且它的名称为 server1):
C:\WebSphere Application Server\bin> startServer server1
b.
服务器成功启动后,您将会在 Console 视图或 SystemOut.log 文件(位于
<was_home>\profiles\server1\logs 目录中)中看到这条消息:
WSVR0001I: Server server1 open for e-business
c.
如果您使用的是 Rational Application Developer,则 Servers 视图将显示服务器的状态为 Started。
d. 打开管理控制台。在 Application Developer 中,从 Servers 视图选择该服务器,右
键单击并选择“Run administrative console”。也可以通过 Web 浏览器打开此 URL 来
运行管理控制台(假定服务器是在本地机器中使用缺省端口设置运行的):
http://localhost:9060/ibm/console
e.
f. 登录到控制台。使用管理控制台来执行以下几节中的步骤,不管您如何启动 WebSphere Application
Server,这些步骤都一样。
剩余22页未读,继续阅读
ZUIJIUDANGGE
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 2023年中国辣条食品行业创新及消费需求洞察报告.pptx
- 2023年半导体行业20强品牌.pptx
- 2023年全球电力行业评论.pptx
- 2023年全球网络安全现状-劳动力资源和网络运营的全球发展新态势.pptx
- 毕业设计-基于单片机的液体密度检测系统设计.doc
- 家用清扫机器人设计.doc
- 基于VB+数据库SQL的教师信息管理系统设计与实现 计算机专业设计范文模板参考资料.pdf
- 官塘驿林场林防火(资源监管)“空天地人”四位一体监测系统方案.doc
- 基于专利语义表征的技术预见方法及其应用.docx
- 浅谈电子商务的现状及发展趋势学习总结.doc
- 基于单片机的智能仓库温湿度控制系统 (2).pdf
- 基于SSM框架知识产权管理系统 (2).pdf
- 9年终工作总结新年计划PPT模板.pptx
- Hytera海能达CH04L01 说明书.pdf
- 数据中心运维操作标准及流程.pdf
- 报告模板 -成本分析与报告培训之三.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0