news 2026/6/10 10:54:20

TongWeb+TongLINK/Q的集成方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
TongWeb+TongLINK/Q的集成方式

问题:

当使用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)配置。

正确的使用方式:

采用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. 完成,是不是比手册的配置过程简单的多?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 10:51:16

XcodeGen终极指南:用YAML配置自动化管理Xcode项目

XcodeGen终极指南&#xff1a;用YAML配置自动化管理Xcode项目 【免费下载链接】XcodeGen A Swift command line tool for generating your Xcode project 项目地址: https://gitcode.com/GitHub_Trending/xc/XcodeGen 你是否厌倦了手动管理Xcode项目文件&#xff1f;每次…

作者头像 李华
网站建设 2026/6/10 10:49:26

Netmiko实战指南:如何用Python轻松管理100+网络设备的完整教程

Netmiko实战指南&#xff1a;如何用Python轻松管理100网络设备的完整教程 【免费下载链接】netmiko Multi-vendor library to simplify Paramiko SSH connections to network devices 项目地址: https://gitcode.com/gh_mirrors/ne/netmiko 你是否曾为管理不同厂商的网络…

作者头像 李华
网站建设 2026/6/10 10:49:23

Scrapling深度解析:智能自适应爬虫框架的架构设计与实战应用

Scrapling深度解析&#xff1a;智能自适应爬虫框架的架构设计与实战应用 【免费下载链接】Scrapling &#x1f577;️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! 项目地址: https://gitcode.com/GitHub_Tre…

作者头像 李华
网站建设 2026/6/10 10:48:41

从源码到终端:深入理解lazynpm的Go语言实现原理

从源码到终端&#xff1a;深入理解lazynpm的Go语言实现原理 【免费下载链接】lazynpm terminal UI for npm 项目地址: https://gitcode.com/gh_mirrors/la/lazynpm 在现代化的前端开发工作流中&#xff0c;npm包管理是每个开发者都离不开的核心环节。然而&#xff0c;频…

作者头像 李华
网站建设 2026/6/10 10:48:35

终极指南:如何利用pre-commit-hooks提升代码仓库质量与开发效率

终极指南&#xff1a;如何利用pre-commit-hooks提升代码仓库质量与开发效率 【免费下载链接】pre-commit-hooks Some out-of-the-box hooks for pre-commit 项目地址: https://gitcode.com/gh_mirrors/pr/pre-commit-hooks 在软件开发过程中&#xff0c;代码质量管理和团…

作者头像 李华