BEA WebLogic Server 8.1 JMS与 IBM MQSeries 集成方案

摘 要

  本文主要在讲述BEA WebLogic Server8.1 JMS和Messaging Bridge的基本概念及其优势的基础上,并图文并茂的讲解BEA WebLogic Server8.1 JMS与第三方消息中间件IBM MQSeries5.2 进行事务性消息转发的集成方案。IBM MQSeries的基本概念也将被涉及。

关键字:WebLogic Server,JMS,MQSeries,连接工厂, JMS服务器,Messaging Bridge,队列,队列管理器,通道,消息驱动Bean

 

Abstract:

  How to user messageing bridge in BEA WebLogic Sever8.1 to transfer messages transactionally between BEA WebLogic Sever8.1 Queues and IBM MQSeries Queues?

  In this paper,we will desribe the BEA WebLogic Sever8.1 JMS and Messaging Bridge concept and their benefits.On this base,we will graphicly and literally demonstrate how to set up messaging bridges to transfer messages transactionally between BEA WebLogic Sever8.1 Queues and IBM MQSeries Queues.Also,the IBM MQSeries concept will be touched.

Key words: WebLogic Server,JMS,MQSeries,Connection Factory, JMS Server,Messaging Bridge,Queue,QueueManager,Channel,MDB

 

目 录

  1 基础知识简介

  1.1 JMS简介

  1.2 Messaging Bridge简介

  1.3 IBM MQSeries简介

  2 事务性集成方案简介

  2.1 方案概览

  2.2 前期准备

  3 配置MQ

  3.1 配置队列管理器

  3.2 配置服务器连接通道

  3.3 配置队列

  3.4 绑定JMS对象

  4 配置WebLogic

  4.1 创建Server域

  4.2 修改启动文件

  4.3 部署JCA适配器

  4.4 配置JMS

  4.5 配置Messaging Bridge

  5 设计Messaging Bridge应用程序

  5.1 设计消息发送端

  5.2 设计消息接收端

  5.3 部署MDB

  6 测试Messaging Bridge

  6.1 测试WLS2MQBridge

  6.2 测试MQ2WLSBridge

  7 另辟蹊径

  8 问题

  9 总结

  

1 基础知识简介

1.1 JMS简介

  JMS(Java Message Service)是访问企业消息系统的标准API,它便于消息系

  统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。

  WebLogic Server包含一个完整的、有丰富特性的消息服务器。第三方的消息服务器(如IBM MQSeries),只要其提供了JMS API的实现,也可以在WebLogic Server中运行。想了解更为详细的JMS基础知识可以参考文章BEA WebLogic Server8.1 JMS入门

  

1.2 Messaging Bridge简介

1.2.1 Messaging Bridge的定义

  什么是Messaging Bridge呢?它是一种由WebLogic Server提供的J2EE设备,用于转发两个消息提供者的消息。你可以使用Messaging Bridge将消息从一个消息提供者的目的地(队列或者主题)移至另外一个消息提供者的目的地。因此,当WegLogic应用程序需要与第三方消息提供者(比如IBM MQSeries)进行交互时,Messaging Bridge就可以承担这个中间角色。

1.2.2 Messaging Bridge的优点

  Messaging Bridge具有如下优点:

  不需要编码,纯配置,加速你的开发;

  灵活的体系结构,容易配置多个Messaging Bridges,并且而且可以动态的启动和停止单个Messaging Bridge;

  采用即取即用的MQ 适配器,实现全面的MQ JMS 支持,能够设定MQ 主题查询;

  充分利用WebLogic容器进行服务管理,并且集中所有的Bridges资源在一个线程池;

  全面的事务处理能力,两阶段事务处理;

  全面的JCA 支持;

  确保服务质量和连接管理,实实在在的一次性服务;

  控制台监视能力;

  集成BEA WebLogic应用与外部消息提供商,以便将新的应用与现有的

  投资连接起来。

 

1.3 IBM MQSeries简介

1.3.1 IBM MQSeries概念

  IBM MQSeries是IBM的商业通讯中间件(Commercial Messaging Middleware)。IBM MQSeries提供一个具有工业标准,安全,可靠的信息传输系统。它的功能是控制和管理一个集成的商业应用,使得组成这个商业应用的多个分支程序(模块)之间通过传递信息完成整个工作流程。IBM MQSeries具有特殊的技术防止信息重复传送,确保信息一次且仅一次(once-and-only-once)传递,保证传输的可靠性。本文使用的MQ版本为IBM MQSeries 5.2。

1.3.2 IBM MQSeries术语

  1. IBM MQSeries基本由一个消息传输系统和一个应用程序接口组成,其资源是消息和队列(Messaging and Queuing)。
  2. 队列管理器(Queue Manager):管理队列的系统,实现网络通信,保证消息安全可靠地传输到目的地。
  3. 用于确保队列之间的信息提供,包括网络中不同系统上的的远程队列之间的信息提供。并保证网络故障或关闭后的恢复。
  4. 队列:一个安全的信息存储区。因为信息存放在队列中,所以应用程序可以相互独立的运行,以不同的速度,在不同的时间,在不同的地点。
  5. 本地队列:对程序而言,本地队列属于该程序所连接的队列管理器。
  6. 远程队列:该队列不属于该程序所连接的队列管理器,而只是远端队列管理器的队列在本地的定义。
  7. 传输队列:它是一个本地队列,保存了指定要发送到远端的消息。
  8. 死信队列:它是一个本地队列,用于存放无法传递的消息。
  9. 通道:在两个队列管理器之间建立起来的数据传输链路。
  10. 应用程序接口:应用程序和信息系统之间通过MQSeries API实现的接口。

  

2 事务性集成方案简介

  了解完JMS,Messaging Bridge和MQ的基本概念后,让我们看看是怎么使用Messaging Bridge,实现WebLogic Server8.1 JMS和IBM MQSeries5.2的事务性集成方案的。

  

2.1 方案概览

2.1.1 方案目标

  我们的目标是实现WebLogic Server8.1和IBM MQSeries5.2之间的事务性消息转发:包括WebLogic Server8.1消息转发给IBM MQSeries5.2,以及IBM MQSeries5.2消息转发给WebLogic Server8.1。具体地,将WebLogic Server8.1队列WLSSendQueue的消息转发到IBM MQSeries5.2队列MQReceiveQueue,同时将IBM MQSeries5.2队列MQSendQueue的消息转发到WebLogic Server8.1队列WLSSendQueue。

2.1.2 大概配置

  我们需要做如下配置,下图为方案的体系结构:

体系结构

  1. 通过WebLogic控制台建立两个WebLogic队列:发送队列WLSSendQueue和接收队列WLSReceiveQueue。
  2. 类似地,通过MQ资源管理器建立两个MQ本地队列:发送队列MQSendQueue和接收队列MQReceiveQueue。
  3. 为了实现消息转发需要建立两个Messaging Bridge:WLS2MQBridge 和MQ2WLSBridge 。WLS2MQBridge:将WebLogic发送队列WLSSendQueue的消息转发到MQ接收队列MQReceiveQueue;MQ2WLSBridge:将MQ发送队列MQSendQueue的消息转发到WebLogic接收队列WLSReceiveQueue。
  4. 为了实现事务性消息转发, WebLogic需要使用XAQueueConnectionFactory,而MQ需要使用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值