与WebSphere MQ断开连接时测试WebSphere JMS应用程序

这一配置能够让您在开发生命周期的早期识别和">解决问题,而无需安装本地队列管理器或等待访问远程队列管理器。

在测试专为 WebSphere Application Server 开发的 JMS 应用程序时,开发团队可能并不总是能够访问 WebSphere MQ 环境。因此,在将应用程序代码部署到一个集成环境中之前,您可能无法识别缺陷并排除故障。本文将向您展示如何配置本地 WebSphere 测试环境,以模拟 WebSphere MQ 队列管理器及其相关队列,这样您就可以在开发生命周期的早期识别和解决问题。

为了模拟类似于 WebSphere MQ 的环境,要利用 WebSphere Application Server V5 默认消息传递提供程序。该提供程序使用本身包含消息传递引擎和相关队列的一个内部服务集成总线 (SIBus)。因此,您要做的不是定义 Java Message Service (JMS) 资源来访问 WebSphere MQ 队列,而是定义 JMS 资源来访问 SIBus 上的队列目标。本文将向您展示如何定义这些资源,并且通过一个样例应用程序来演示如何将消息放置到已定义的队列中,以及如何从已定义的队列中获取消息。

这些操作说明的前提条件是,您的开发环境中已经安装了针对 WebSphere Application Server V6 或其更高版本的本地测试环境。对于 WebSphere Application Server V7 用户,Java Software Development Kit (SDK) 必须至少是 V1.6.0 Java Technology Edition SR9 FP1 for WebSphere Application Server 或 WebSphere Application Server V7 的最新 Java SDK 版本。

样例应用程序

样例应用程序使用下面表 1 中所示的资源。本文逐步指导您定义这些资源中的每一个,向您展示如何为您的特定应用程序定制这些指令。对于样例应用程序,要在 WebSphere Application Server V5 消息传递提供程序下定义两个队列。第一个队列叫做 IncomingQueue,用于应用程序处理的传入消息。第二个队列叫做 OutgoingQueue,它存储样例应用程序发送的消息。这两个队列模拟其相应的 WebSphere MQ 队列,并且需要为每个队列定义相应的 JMS 队列和队列连接工厂 (QCF)。

样例应用程序有一个消息驱动的企业 Java bean (EJB),名为 IncomingMessageReceiverBean。它通过 IncomingListenerPort 侦听器端口侦听消息,并且接收放在 IncomingQueue 队列上的消息。应用程序使用了一个名为 OutgoingMessageSenderBean 的无状态会话 EJB 将消息发送给 OutgoingQueue 队列。

表 1. 样例应用程序使用的资源

WebSphere 队列名 JMS 队列 JMS QCF 侦听器端口 EJB 名 IncomingQueue jms/IncomingQueue jms/IncomingQCF IncomingListenerPort IncomingMessageReceiverBean OutgoingQueue jms/OutgoingQueue jms/OutgoingQCF --- OutgoingMessageSenderBean

在为特定应用程序配置本地 WebSphere 测试环境时,可以使用在集成 WebSphere 环境中定义的相同的 Java Naming and Directory Interface (JNDI) 名称。

创建 JMS 队列目标

对于运行于 WebSphere Application Server 之上的任何 JMS 应用程序,常规配置流程包括,为特定消息传递提供程序(比如 WebSphere MQ)定义 JMS 队列。对于该场景,您要为 WebSphere V5 消息传递提供程序定义队列目标。使用 Rational Application Developer(或一个同等的集成开发环境)启动 WebSphere 测试服务器并执行以下步骤:

登录到管理控制台,转至 Resources => JMS Providers => V5 default messaging provider (Use Server scope)。 在 Additional Properties 标题下,单击 WebSphere queue destinations 或 Queues,具体取决于您的 WebSphere 版本。 单击 New,为下面表 2 中所示的每个 JMS 资源创建一个新队列目标。注意队列名称,因为稍后在 SIBus 上创建队列时您会使用该名称。

表 2. WebSphere 队列目标值

Queue Name 队列 JNDI 名称 IncomingQueue jms/IncomingQueue OutgoingQueue jms/OutgoingQueue

在为特定应用程序创建 JMS 队列目标时,JNDI 名称应当匹配在 Resources => JMS Providers => WebSphere MQ => WebSphere MQ queue destinations 下的集成环境中定义的名称,其中定义了基本队列名称和相关的队列管理器名称。

单击 OK 在本地保存更改到主配置。

创建 JMS 队列连接工厂

对于 JMS 应用程序使用的每个 JMS 队列,还需要一个相应的 JMS QCF。在该配置下,需要在 WebSphere V5 默认消息传递提供程序下创建 QCF。在您的测试服务器上执行以下步骤:

在管理控制台中,转至 Resources => JMS Providers => V5 default messaging。 在 Additional Properties 标题下,单击 WebSphere queue connection factories 或 Queue connection factories,具体取决于您的 WebSphere 版本。 单击 New 为下面表 3 中所示的每个资源创建一个新 QCF:

表 3. WebSphere Queue Connection Factory 值

QCF Name QCF JNDI 名称 IncomingQCF jms/IncomingQCF OutgoingQCF jms/OutgoingQCF

在为特定应用程序创建 JMS QCF 时,JNDI 名称应当匹配 Resources => JMS Providers => WebSphere MQ => WebSphere MQ queue connection factories 下的集成环境中定义的名称,其中指定了队列管理器和通道细节。

单击 OK 在本地保存更改到主配置。

时间: 2025-01-21 03:10:30

与WebSphere MQ断开连接时测试WebSphere JMS应用程序的相关文章

IBM WebSphere MQ 关闭连接的问题

问题描述 for(inti=0;i<10000;i++){MQQueueManagerqMgr=newMQQueueManager(qManagerName);//System.out.println(qMgr.isConnected());qMgr=null;} 用上面代码连接服务器,并且也关闭了连接,但是当运行到i=3800+的时候就报异常了MQJE001:MQException出现:完成代码是2,原因为2059MQJE011:拒绝套接字连接尝试MQJE001:MQException出现:完

为WebSphere MQ环境编写用于MQ Explorer的Java测试

引言 IBM WebSphere MQ 环境功能强大并涉及许多对象定义.允许自动检查这些对象定义的系统有助于加快 WebSphere MQ 网络的开发与调试. WebSphere MQ Explorer 是 WebSphere MQ 管理工具集的名称,您可以使用它来创建.更改和删除对象.MQ Explorer 基于 Eclipse 构建,可以通过 Eclipse 插件进行扩展.本文向您介绍如何编写插件来在 WebSphere MQ 环境中执行检查,并通过一个插件示例来验证所有对象是否符合公司的命

对WebSphere MQ Telemetry进行性能测试和性能调优

通过这些内容,读者将能够加深对 http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere MQ 与 MQTT 的理解,从而可以在实际客户应用场景中进行使用.消息推送作为移动开发的重要技术,应用开发者可以通过它对用户发送推送通知.活动提示,对用户进行提醒, 改善用户体验.消息推送可以是一对一的,比如银行向客户发送还款通知,应用发送业务提醒:消息推送也可以是一对多的,比如商家可以通过它向订阅的用户发布广告消息,或新闻机构向它的读

不可或缺的十种WebSphere MQ SupportPac

SupportPac 是什么? SupportPac 是补充 IBM WebSphere MQ 产品家族中各种产品 的增件.面向 WebSphere MQ 的 SupportPac 包括产品扩展.用户和管理工具.出口程序 (exits)等等.许多最新的 WebSphere MQ 特性最初都是以 SupportPac 的形式出现的,再根 据用户反馈进行细化和改进,最终整合到基本产品之中.Performance Report SupportPac 会 为每个新产品版本重新创建,而其他许多 Suppo

使用WebSphere MQ Application Activity Trace增加消息的可见性

简介 本文使用多个场景来展示 IBMWebSphereMQ Application Activity Trace 的 潜在用途,包括问题确定和维护 WebSphere MQ 消息的审计跟踪.在各个场景中 将使用两个工具来格式化用于分析的 Application Activity Trace 记录: 命令行工具 amqsact,它作为一个示例随 WebSphere MQ 提供. 在 SupportPac MS0P 中包括的事件和统计数据查看器:WebSphere MQ Explorer – Ext

IBM WebSphere MQ创建队列管理器前的系统级操作

您可以通过本文了解 z/OS 的子系统基本配置和启动流程,以及 MQ 需要的所有定制化操作.作为该系列的第 1 部分,本文着重介绍创建队列管理器前的系统级操作. IBM 主机及其之上的 z/OS 操作系统,是在上世纪 60 年代 IBM 主机平台之上不断积累进化的产物.发展到今日,该环境已经演变为如今商业计算领域最为高效.稳定.可靠的计算机 IT 环境之一.如今,越来越多的银行.金融.电信.交通等行业领域意识到主机系统相比于开放式服务器系统的优势,并投入到主机的怀抱中来. 此外,IBM WebS

IBM WebSphere MQ在Windows上多版本的安装

本文从基本概念入手,并辅以详细的实现步骤,在 Windows 平台上同时安装 MQ7.0/MQ7.1/MQ7.5.通过阅读本文,读者能够快速理解 MQ V7.1 的多版本特性,并应用到实际工作中. WebSphere MQ 是非常流行的消息中间件,拥有众多的企业级用户.它提供了跨平台的,支持不同编程语言的安全可靠的消息传递,是用于部署企业级 IT 网络的强大通讯工具.本文介绍的 MQ V7.1 多版本特性,有助于加速客户的测试.部署,更好的适应快速发展的 IT 技术. 本系列第 1 部分主要介绍

WebSphere MQ队列管理器配置共享队列QSG及MQ相关参数

读者可以通过本文了解 z/OS 的子系统基本配置和启动流程,以及 MQ 需要的所有定制化操作.作为该系列的第二部分,本文着重介绍与 MQ 相关的定制操作. 在本系列教程的第一部分,我们介绍了 z/OS 和 http://www.aliyun.com/zixun/aggregation/13387.html">WebSphere MQ 产品的特性,并且通过一系列的操作步骤介绍,展示了 z/OS 操作系统层面需要进行的配置.读者可以体会到 z/OS 完全不同于开放式的操作系统,系统管理员可以对

集成WebSphere MQ和IBM Business Process Manager V7.5部署流程

当一个事件发生在不能直接通过适配器框架集成的不同系统中,同时需要某种中间件进行交换数据时,这类集成对于那些需要调用http://www.aliyun.com/zixun/aggregation/13476.html">业务流程的场景来说非常有用. IBM Business Process Manager V7.5 是一个综合的 BPM 平台,为您提供管理一个完整企业级程序所需的可见性和洞察力.IBM Business Process Manager 利用简单环境中的复杂性分解了竖井,更好地