`
Sylven
  • 浏览: 63873 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Weblogic10 与 Websphere MQ7集成方案[1]

阅读更多
1.概述
集成两个不同厂商的产品向来不是什么自在的活,本文试图提供一种可行的方案,集成weblogic与MQ。
我们的最终的目标是,部署在weblogic上的MDB可以自动接收到投放到MQ队列的消息,也可以通过JMS队MQ列往里投放消息。

2.集成方案
weblogic与MQ的集成方案大致有两种:
一是将MQ配置为weblogic的外部JMS服务器(foreign JMS server),第二种是weblogic的消息桥(messaging bridge)
本文中描述的是第一种方案,结构大致如下:



图画得较丑,且可能有失偏颇,仅供参考...

3.集成指引
其实本文的标题有点夸大,准确来说算是一篇step-by-step的配置指引吧,不废话了...

3.1.配置websphere MQ
3.1.1创建一个MQ队列管理器
首先创建一个测试用的MQ队列管理器,名为JustinMQ2(名字随便):

图1.1.创建队列管理器



图1.2.创建队列管理器


3.1.2创建两个本地队列application和approval:


图2.1


图2.2


完成以上步骤,我们可以通过MQ的Java API测试配置是否正确:
代码如下:
import com.ibm.mq.MQEnvironment;
import com.ibm.mq.MQMessage;
import com.ibm.mq.MQQueue;
import com.ibm.mq.MQQueueManager;
import com.ibm.mq.constants.MQConstants;

/**
 * via MQ API
 * @author Justin
 *
 */
public class TestViaAPI {

	public static void main(String[] args) throws Exception {
		String qManager = "JustinQM2";
		String qManagerHost = "127.0.0.1";
		String queueName = "application";
		MQEnvironment.channel = "SYSTEM.DEF.SVRCONN";
		MQEnvironment.hostname = qManagerHost;
		
		MQQueueManager qMgr = new MQQueueManager(qManager);

		System.out.println("open queue");
		MQQueue mqQueue = qMgr.accessQueue(queueName, MQConstants.MQOO_INPUT_AS_Q_DEF
				| MQConstants.MQOO_OUTPUT);
		
		MQMessage mqMsg = new MQMessage();
		mqMsg.write("test message".getBytes());
		mqQueue.put(mqMsg);

		System.out.println("close queue");
		mqQueue.close();
		System.out.println("close queue mamager");
		qMgr.disconnect();
	}
}

如果没抛异常,基本上就成功了。当然,是否真正成功还要到刚才创建的application队列看看:

图:使用API访问队列的结果


3.2绑定到JMS
下一步就是要绑定到JMS,然后通过JMS API访问MQ的队列,步骤如下:
3.2.1我们需要添加一个JMS受管对象(JNDI上下文),为了方便测试,我们使用sun的文件JNDI。




3.2.2.创建连接工厂(QueueConnectionFactory)
创建两个连接工厂applicationFactory和approvalFactory,步骤如下:










3.2.3.创建目标(Destination)
创建两个目标:applicationJMSQueue和approvalJMSQueue,步骤如下:






然后写个程序测试一下:
import java.util.Hashtable;

import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.Context;
import javax.naming.InitialContext;

/**
 * 
 * 
 * @author Justin
 * 
 */
public class TestFSJNDI {
	public static void main(String[] args) throws Exception {

		Hashtable<String, String> env = new Hashtable<String, String>();
		env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
		env.put(Context.PROVIDER_URL, "file:/C:/Users/Justin/jndi");
		Context jndiContext = new InitialContext(env);

		QueueConnectionFactory sendFactory = (QueueConnectionFactory) jndiContext
				.lookup("applicationFactory");

		Queue queue = (Queue) jndiContext.lookup("applicationJMSQueue");

		QueueConnection queueConnection = sendFactory.createQueueConnection();
		queueConnection.start();
		QueueSession queueSession = queueConnection.createQueueSession(false,
				Session.AUTO_ACKNOWLEDGE);
		QueueSender queueSender = queueSession.createSender(queue);
		TextMessage textMsg = queueSession
				.createTextMessage("test post message via jndi");
		queueSender.send(textMsg);
		queueConnection.close();
	}
}

运行后,查看队列中多出一条消息,成功。
  • 大小: 22.9 KB
  • 大小: 32.7 KB
  • 大小: 15.3 KB
  • 大小: 22 KB
  • 大小: 51.2 KB
  • 大小: 47.7 KB
  • 大小: 73.1 KB
  • 大小: 11.7 KB
  • 大小: 50.2 KB
  • 大小: 49.7 KB
  • 大小: 59.5 KB
  • 大小: 33.5 KB
  • 大小: 43.9 KB
  • 大小: 39 KB
  • 大小: 22.8 KB
  • 大小: 10.9 KB
分享到:
评论
1 楼 tiger888 2010-01-02  
写的不错,赞一个

相关推荐

    WebSphere与Weblogic集成产品比较.pdf

    ### WebSphere与Weblogic集成产品比较 #### 一、引言 随着企业信息化建设的深入发展,业务集成已成为企业IT架构的重要组成部分。本文旨在对比分析IBM WebSphere集成平台与BEA WebLogic集成平台在业务集成方面的...

    weblogic,mq集成配置

    ### WebLogic与MQ集成配置详解 #### 一、概述 在现代企业级应用环境中,中间件扮演着极其重要的角色,特别是在实现不同系统间的通信时。本文将详细介绍如何将Oracle WebLogic Server 10.3与IBM WebSphere MQ 6.0...

    IBM WebSphere家族产品与BEA WebLogic家族产品比较

    此外,WebSphere还包含了Integration Bus、Commerce、Portal、MQ等一系列组件,满足企业不同层面的需求,如集成、电子商务、门户建设和消息传递。 相反,BEA WebLogic Server同样是一款强大的J2EE应用服务器,它以...

    linux下weblogic和mq集成.pdf

    在Linux环境下,将WebLogic Server与IBM MQ集成是一项常见的任务,以便实现消息传递和应用程序间的通信。本集成涉及的主要知识点包括: 1. **IBM MQ**:IBM MQ(原名WebSphere MQ)是一款企业级的消息中间件,它...

    websphere_weblogic

    例如,WebSphere可能更倾向于IBM的MQ系列,而WebLogic则可能与Oracle数据库有更好的兼容性。 10. **社区支持**:虽然两者都有庞大的用户社区和专业论坛,如IBM开发者Works和Oracle社区,WebSphere可能由于IBM的长期...

    BEA Weblogic Server宝典

    14. **WebLogic与其他技术集成**:讨论WebLogic Server与其他技术如Spring框架、OSGi、WebSphere MQ等的集成方法。 15. **故障排查与恢复**:提供常见问题的解决方案和故障恢复策略,帮助管理员快速定位和解决问题...

    weblogic管理

    2. **与JMS集成**:WebLogic Server内置了JMS(Java Message Service)支持,允许与其他JMS提供者(如IBM WebSphere MQ)交互,实现消息传递和事件驱动架构。 3. **与SOA套件集成**:WebLogic Server是Oracle SOA ...

    Active MQ教程+配置

    大多数商业J2EE应用服务器都内置了自己的JMS Provider,但独立的商业解决方案,如IBM WebSphere MQ,在业界仍然占据主导地位。 #### 四、安装ActiveMQ 1. **下载**:访问[ActiveMQ官方网站]...

    MQ详细文档

    - **与其他应用服务器的集成**:讨论如何将ActiveMQ集成到企业级应用服务器中,如WebSphere、WebLogic等,以便于在更复杂的环境中使用。 - **其他语言的支持**:除了Java之外,ActiveMQ还支持多种其他语言的客户端...

    ActiveMQ_实践之路

    2. **商业JMS提供商**:如IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ、Sun Java System Message Queue、Sonic JMS和TIBCO Enterprise For JMS。这些商业产品通常包含在大型应用服务器中,或者作为独立的中间件...

    SharePoint 企业协作解决方案概览.pptx

    7. 和谐的企业应用集成:SharePoint 提供了和谐的企业应用集成功能,帮助企业集成不同的应用程序,提高了企业的生产力。 8. 改进的菜单体验:SharePoint 提供了改进的菜单体验,帮助用户更方便地使用企业的应用程序...

    ActiveMQ4 学习积累

    在商业JMS provider市场,IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ等占据主导地位,但它们通常与特定的应用服务器捆绑销售,而ActiveMQ作为独立的开源JMS provider,更易被广泛应用于各种架构设计中。...

    ActiveMQ教程+配置借鉴.pdf

    - 商业 JMS 提供商,如 IBM WebSphereMQ、BEA WebLogic JMS 等,它们通常集成在大型商业应用服务器中。 6. **安装与使用**: - 用户可以从 Apache 官方网站下载最新版本的 ActiveMQ 并按照指南进行安装配置。 - ...

    JMS与MDB介绍.doc

    5. **JMS Provider**:如IBM WebSphere MQ、Apache ActiveMQ或RabbitMQ等,它们实现JMS规范,提供消息的存储和传输服务。 6. **MDB配置**:在Java EE应用服务器中,MDB需要通过XML部署描述符(如ejb-jar.xml或META-...

    ActiveMQ教程+配置[归纳].pdf

    此外,商业JMS提供商如IBM WebSphere MQ、BEA WebLogic JMS、Oracle AQ等也是竞争对手。然而,ActiveMQ凭借其使用NIO技术在性能上的优势,以及作为独立开源组件的灵活性,使其在多种架构设计中得到广泛应用。 在...

    SOA架构实践.pptx

    Oracle BPEL流程管理器提供了一个强大而灵活的平台,支持流程建模、异常管理、服务间的交互,以及与各种J2EE应用服务器(如Oracle AS,WebLogic,JBoss,WebSphere)的集成。此外,Oracle还提供了业务活动监视(BAM...

    ActiveMQ教程+配置[参照].pdf

    尽管ActiveMQ 在开源JMS提供商中脱颖而出,但仍有其他竞争对手,如JBoss的jBossMQ和jBoss Messaging,OpenJMS,以及IBM WebSphereMQ、BEA WebLogic JMS等商业产品。尽管这些产品都有各自的优点,但ActiveMQ的独立性...

Global site tag (gtag.js) - Google Analytics