读书人

websphere6.1配备消息驱动bean2.0(基

发布时间: 2012-11-01 11:11:32 作者: rapoo

websphere6.1配置消息驱动bean2.0(基于发布/订阅)手记

?? ? 最近公司有个需求,需要接收其他部门发送的MQ请求,发送MQ的部门是基于pub/sub方式发布的。我负责我们部门的订阅MQ的开发。
????环境:websphere6.1


????实现:a)采用Message Driver Bean
在WAS上部署一个EJB应用,将业务逻辑在MDB的onMessage () 方法中实现。

?? ? ? ? ? ? b)采用JMS程序
自己开发轮询程序,获得消息内容,并将其用于业务逻辑中。

?


????开发细节:?


????????1.在websphere上配置消息中间件:

?? ? ? ? ? a.新建主题工厂

?? ? ? ? ? ? ?主机、端口配置成发布消息的地址,传输类型选择client,通道,队列管理器填写。代理版本选择基本,客户机标识填写接收消息的标识

?? ? ? ? ? b.新建主题

?? ? ? ? ? ? ?基本主题名填写a中的客户机标识,目标客户选择jms

?? ? ? ? ? c.配置监听端口

?? ? ?服务器---应用服务器----server1----通信----消息侦听器服务----侦听器端口---新建侦听端口侦听主题工厂、主题。

?

?

?? ? ? ?2.两种实现订阅消息

a .jsm轮询查询:

?

?

?

?

传入参数:iiop://10.1.12.11:2810 notification/IdentificationChangedTopicFactory notification/IdentificationChangedTopic S identificationChanged

?

其中出现错误:1.远程调用ejb查找jndi失败问题。2.websphere dumpNameSpace 查找jndi要求输入服务器登录用户名密码。3.调用接收程序之后,重复调用发订阅信息被锁的问题。

?

?

?? b.?? ? ? ?采用Message Driver Bean,由websphere自己订阅接收到的信息。需要在websphere上部署一个ejb-mdb。ejb2.1写法如下:

?遇到问题:1.ejb部署问题。2.ejb引用其他jar包问题。3.ejb使用jndi的问题。

4.最奇怪的:transaction问题:发生试探非法用现有两阶可用资源落实一阶可用资源。

通过<transaction-type>Bean</transaction-type>来解决的。(之前是<transaction-type>Container</transaction-type>)

?

?

最后测试通过!!!!!!!!希望对他人有用,传上订阅的ear包。


?

?

?

?

?

?

?

?

?

?

?

?

?

读书人网 >Web前端

热点推荐