问题:

当使用TongWeb+TongLINK/Q产品,想用JMS开发消息服务时,不知如何使用?

1.当你看TongLINK/Q手册《JMS编程参考》时,在给你讲TongWeb5.0+TongLINK/Q8.1的消息驱动bean(Message-Driven Bean,MDB)配置。

2.当你去看TongWeb7的《用户手册》时,在给你讲TongWeb7.0+TongLINK/Q8.1的消息驱动bean(Message-Driven Bean,MDB)配置。

3. TongWeb5.0太老了,MDB开发、配置过程太繁琐。

正确的使用方式:

采用spring  jms框架,抛弃了TongLINK/Q的TongJMS_ra.rar包,省略了一层层的TongWeb配置和MDB开发,单纯的可以通过spring的bean配置快速完成开发,并且可以在ActiveMQ、IBM MQ等JMS服务器之间任意切换,TongWeb无需要任何更改。大致步骤如下:

1.配置TongLINK/Q的jms,只列出片段。如果细讲TLQ配置过程会又臭又长。

#tlqjndi.conf配置片段
[JndiSystem]        #
[Factory]       # 连接工厂
#
[FactoryRecord]     #
FactoryName = RemoteConnectionFactory      # 连接工厂名称
FactoryType = xqf      #  连接工厂类型
tmqiAddressList = tlq://192.168.32.100:10024   # 远程方式的连接url
#
############################################################
[JndiQueue]     # Jndi队列
#
[JndiQueueRecord]       #
JndiQueueName = lq     # jndi队列名
TlqQueueName = lq      # TLQ的队列名

2. spring bean配置文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans><!-- 配置TLQ的JNDI上下文 --><bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate"><property name="environment"><props><prop key="java.naming.factory.initial">tongtech.jms.jndi.JmsContextFactory</prop><prop key="java.naming.provider.url">tlkq://192.168.32.100:10024</prop></props></property></bean><!-- 配置TLQ的JMS连接工厂 --><bean id="JmsQueueConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"><property name="jndiTemplate" ref="jndiTemplate" /><property name="jndiName" value="RemoteConnectionFactory" /></bean><!-- 配置发送队列 --><bean id="sendDestination" class="org.springframework.jndi.JndiObjectFactoryBean"><property name="jndiTemplate" ref="jndiTemplate" /><property name="jndiName" value="sendq" /></bean><!-- 配置接收队列 --><bean id="receDestination" class="org.springframework.jndi.JndiObjectFactoryBean"><property name="jndiTemplate" ref="jndiTemplate" /><property name="jndiName" value="lq" /></bean><!-- 配置JMS模版 --><bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"><property name="connectionFactory" ref="JmsQueueConnectionFactory" /></bean><!-- 消息监听器,相当于MDB类 --><bean id="myTextListener" class="com.tong.jms.TextListener"></bean><!-- jms消费 --><bean id="javaConsumer"class="org.springframework.jms.listener.DefaultMessageListenerContainer"><property name="connectionFactory" ref="JmsQueueConnectionFactory" /><property name="destination" ref="receDestination" /><property name="messageListener" ref="myTextListener" /></bean>
</beans>

3.编写com.tong.jms.TextListener接收消息,相当于MDB

//接受lq队列消息
public class TextListener implements MessageListener {public void onMessage(Message message) {TextMessage msg = null; try {if (message instanceof TextMessage) {msg = (TextMessage) message;System.out.println("Reading message: " + msg.getText());} else {System.out.println("Message of wrong type: "+ message.getClass().getName());}} catch (JMSException e) {System.out.println("JMSException in onMessage(): " + e.toString());} catch (Throwable t) {System.out.println("Exception in onMessage():" + t.getMessage());}}
}

4.编写发送消息的bean

//发送sendq队列消息片段
JmsTemplate template = (JmsTemplate) ctx.getBean("jmsTemplate");
Destination destination = (Destination) ctx.getBean("sendDestination");
template.send(destination, new MessageCreator() {public Message createMessage(Session session) throws JMSException {return session.createTextMessage("发送消息:Hello TongLINK/Q  Text Message!");}
});

5. 完成,是不是比手册的配置过程简单的多?

抛弃手册,开启TongWeb+TongLINK/Q的开发方式相关推荐

  1. 东方通基本命令查询tonglink/q

    转载于 TongLINK/Q7.X 8.x查看队列情况命令_realliuxin的博客-CSDN博客

  2. 东方通应用中间件TongWeb初级考试攻略【实战攻略,1小时通过考试】

    背景 最近几年,XC的趋势越发明显,各行各业推进节奏明显加快.单位也有计划做一个试点,公司安排我负责基础软件,中间件作为其中不可或缺的一员,早就听说东方通的中间件,早几年还使用过TongWeb5. 最 ...

  3. hping3使用手册

    该工具可能造成违法的攻击行为,需在合法的测试环境下使用.因个人不当使用造成的违法后果由行为人自行负责. 基本参数 -c --count 发送数据包的数目 -i --interval 发送数据包间隔的时 ...

  4. 适配Android Q指南

    一 .行为变更:所有应用 Android Q 平台包含一些行为变更,这些变更可能会影响您的应用.以下行为变更将影响在 Android Q 上运行的所有应用,无论其采用哪种 targetSdkVersi ...

  5. Android Q行为变更

    目录 1 概述 2 运行在 Android Q 上的所有应用 2.1 非 SDK 接口限制 2.2 WLAN 直连广播 2.3 Go 设备上的SYSTEM_ALERT_WINDOW 2.4 关于以旧版 ...

  6. Android Q初窥(二)行为变更

    目录 行为变更 所有APP 手势导航 非 SDK 接口限制 NDK Bionic 库和动态链接器路径变更 系统二进制文件/库会映射到只执行内存 安全性 WLAN 直连广播 WLAN 感知功能 Go 设 ...

  7. 因易用性导致的TongWeb使用误区

    误区一:使用TongWeb企业版本,即按照<TongWeb7企业版用户手册.pdf>手册操作. 安装好TongWeb后doc目录下有手册,TongWeb手册的正确观看顺序: 1. 最先看& ...

  8. 安卓手机无障碍模式怎么关闭_安卓手机开启无障碍功能与悬浮窗的方法

    怎么开启辅助服务? 使用优Q的功能必须开服辅助服务,辅助服务是安卓官方提供的功能. 打开优Q点击[我的]点击权限设置,开启即可.如果无法快速开启,请参考如下的方法. 部分手机辅助可通过快捷键开启,优Q ...

  9. 东方通 中间件_东方通:中间件国产替代进程中的艰难领军者

    引言 东方通自1992年成立以来,一直深耕基础软件中间件的产品及相关技术研发,为国产中间件的开创者,连续十几年保持中间件市场占有率国内厂商第一.其时,国外的中间件也才开始起步,可以说与国际厂商站在了同 ...

  10. 中间件厂商及相关产品榜

    中间件厂商及相关产品榜 IBM(中国)有限责任公司www.ibm.com.cn在过去的八十多年里,世界经济不断发展,现代科学日新月异,IBM 始终以超前的技术,出色的管理和独树一帜的产品领导着信息产业 ...

最新文章

  1. 阿里团队最新实践:如何解决大规模分类问题?
  2. 1-4 多文档界面处理(3)
  3. 地图瓦片相关学习总结
  4. 移动产品经理必须要知道的11件事
  5. python基础(二)字符串內建函数详解
  6. 七桥问题属于计算机科学方法论中的,计算机科学与技术方法论-计算学科中的科学问题ppt...
  7. qgc地面站如何导入离线地图_地面站开发资源汇总
  8. 设计模式示例_桥梁设计模式示例
  9. 使用Java来格式化时间
  10. Spring Boot的Maven插件 spring-boot-maven-plugin
  11. Go语言圣经阅读-第八周
  12. 51单片机-矩阵键盘
  13. 百度地图SDK集成定位,卫星地图
  14. 第17期基于SSM爱家房屋租赁管理系统
  15. 图像修复(拖影、失焦、雨雾、模糊)deblurGAN 论文解读
  16. mysql如何查看bufferpool_查看Buffer Pool使用情况--[转]
  17. 3d建模网上学习靠谱吗?学3d建模哪个大学好?
  18. Oracle 使用序列插入表自增字段(主键)
  19. 一梦江湖卡在服务器信息100,一梦江湖卡69、89、129到底有什么区别?这一篇讲的很清楚了...
  20. bga封装扇出_扇出型封装为何这么火?

热门文章

  1. java fakepath_解决文件上传取不到真实路径问题(fakepath)
  2. input type=file标签图片上传路径fakepath问题
  3. 卫星导航开源代码汇总
  4. vr课设《梵高世界》第一人称的解谜游戏
  5. 【echarts柱状图最大高度】echarts柱状图限制柱子最大高度方法
  6. 基于51单片机的智能温控风扇
  7. 如何优化多数据集关联报表
  8. 怎么用计算机求正切值的角度,在excel中如何使用正切函数计算,excel函数tan怎么反算角度...
  9. 宏观经济模型代码来源 :MMB库
  10. 哪有没时间这回事-读后感