您的当前位置:我要购书网>在线阅读>Java/J2EE/JSP

was 6与websphere mq6的整合

来源:互联网  作者:  发布:我要购物网收集整理  发布时间:2006-8-31 人气:264

WAS 6与Websphere MQ6的整合bromon原创 请尊重版权 整合 的目的是让MQ作为websphere application server的JMS provider,所有的JMS消息会被was转发到MQ队列 中,由于MQ提供了多种平台的API,因此消息的传递可以不再通过转发的方式。任何平台都可以直接连接到MQ获取/发送消息,减少了跨平台消息传递中的不 确定因素。 首先在MQ中建立队列管理器、消息队列、服务器连接通道(SYSTEM.DEF.SVRCONN类型的通道)。由于 was将通过CLIENT模式与MQ通信,所以有身份认证的问题,需要在通道上配置MAC用户标识,它的值应该是运行MQ的操作系统的一个用户名称,该用 户应该具有管理员权限,推荐使用启动MQ的用户名称。如果不配置该MAC用户标识,那么运行was的机器必须建立一个与运行MQ完全相同的用户/密码来启 动was,才能提供正确的身份信息。如果采用BINDINF的传输模式,就不需要任何的认证信息,但是该模式只能适用于was和MQ在同一台机器上的情 况。而且一个was环境中,只能允许一个连接工厂使用BINDING模式连接,所以不推荐该模式。 假设建立起来的队列管理器为 sobeymam,ccsid为1208(Unicode)或者1381(GB2312),通信端口为1414;建立的消息队列为test,ccsid为 1208(Unicode);服务器连接通道为s1,MAC用户标识为bromon。 下一步是在WAS中建立队列连接工厂,“资源”----“JMS提供者”----“Websphere MQ”----“Websphere MQ队列连接工厂”----“新建”。填写以下内容: 名称: cf JNDI名称: jms/cf 队列管理器: mam 主机: 运行MQ的机器名或IP 端口: 1414(与队列管理器的侦听端口对应) 通道: s1(与队列管理器的服务器连接通道对应) 传输类型: CLIENT 取消“已起用XA”选项 连接工厂的配置完成。 下一步是建立队列目标。“资源”----“JMS提供者”----“Websphere MQ”----“Websphere MQ队列目标”----“新建”。填写以下内容: 名称: test JNDI名称: jms/test 基本队列名: test(对应MQ中的本地队列) CCSID: 1208 目标客户机: MQ 队列目标的配置完成。需要说明的是,目标客户机的值决定了JMS的消息将以什么格式存放在MQ中。如果是”MQ”,那么消息将直接使用MQSTR格式,纯 文本的存放,任何平台都能够获取消息直接显示。如果是”JMS”,那么消息将使用MSHRF2格式存放,java平台能够不加处理的正常识别,其他平台必 须要做转换才能正确获得消息文本。推荐使用”MQ”。 如果需要部署消息BEAN获取MQ中的消息,那么还需要配置侦听器端口,“服务器”----“应用服务器”----“server1”----“通信”----“消息传递”----“消息侦听器服务”----“侦听器端口”----“新建”。填写一下内容: 名称: test 连接工厂JNDI名: jms/cf(对应websphere队列连接工厂的JNDI) 目标JNDI名: jms/test(对应websphere队列目标的JNDI) 侦听器端口配置完成,部署消息bean时需提供该侦听器名称。 重启websphere使配置生效。编写一个jsp尝试发送消息: <%@ page contentType="text/html; charset=GBK" %> <%@ page import="java.util.*"%> <%@ page import="javax.jms.*"%> <%@ page import="javax.naming.*" %> <% try { Properties p = new Properties(); p.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory"); p.put(Context.URL_PKG_PREFIXES, "com.ibm.ws.naming"); p.put(Context.PROVIDER_URL, "iiop://localhost:2809/"); InitialContext ctx = new InitialContext(p); QueueConnectionFactory qcf = (QueueConnectionFactory) ctx.lookup("jms/cf");//连接工厂 QueueConnection conn = qcf.createQueueConnection(); Queue q = (Queue) ctx.lookup("jms/test");//队列 QueueSession s = conn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE); conn.start(); QueueSender sender = s.createSender(q); TextMessage tm=s.createTextMessage("测试websphere mq有中文字符");//创建文本消息 sender.send(tm, DeliveryMode.PERSISTENT, 4, 0); sender.close(); }catch(Exception e) { out.println(e); } %>
相关文章
· was 6与websphere mq6的整合
· waitformultipleobjects使用详解
· wap版的手机号码所在地查询
· wap入门文章
· wap技术入门(续)
· wap应用对请求地址的限制 filter,也可以用于其他
· wait,notify,sleep,join和线程同步问..
· wait,notify,sleep,join和线程同步问题
· wap!delphi能做到!—— 应用于移动电话的wml..
热点文章
%>
· creating user controls
· 提高fastreplace速度 (fstrrep.pas)
· asc ii 完整码表及简介
· 自动生成拼音(汉字反查到拼音)
· sql2000无法安装的解决办法
· 浏览器集成教学 自定义浏览器
· vc++技术内幕(第四版)笔记(第7章)
· mysql5.0中文乱码解决方案
· sql server日期计算
· vc下利用ado连接access数据库
我要啦免费统计
 淘宝旺旺:我要购书网上书店『图书目录
本购书中心地址: 杭州市延安路111号清波商厦南楼D座(总部) 上海市闸北区老沪太路网上购书中心(沪部),  邮编:310002
电子邮件:books@51goushu.com  经营许可证编号:沪ICP备06038574号
版权所有 2003-2008 © All Rights Reserved .购书网