信创改造2---java集成TongLink/Q

上一篇针对TongLINK/Q的安装部署

http://t.csdnimg.cn/9ss7l

,这篇具体说明java集成

1. 准备工作

根据实际修改连接URL等信息

vim  TLQ8/etc/tlqjndi.conf 

2. JAVA集成

将TongJMS.jar加载到自己的项目中

发送消息

package com.keyou.proj.authentication.service.utils;import lombok.extern.slf4j.Slf4j;import java.util.Properties;
import javax.jms.*;@Slf4j
public class QueueSendMsg {private static final String tcf = "tongtech.jms.jndi.JmsContextFactory";private static final String remoteURL = "tlq://192.168.1.40:10024";private static final String remoteFactory = "RemoteConnectionFactory";public static void startSendMsg() {ConnectionFactory ConnFactory = null;Connection conn = null;Session session = null;Queue queue = null;MessageProducer mProducer = null;TextMessage testMessage = null;try {Properties pro = new Properties();pro.setProperty("java.naming.factory.initial", tcf);pro.setProperty("java.naming.provider.url", remoteURL);javax.naming.Context ctx = new javax.naming.InitialContext(pro);ConnFactory = (javax.jms.ConnectionFactory) ctx.lookup(remoteFactory);queue = (javax.jms.Queue) ctx.lookup("MyQueue");conn = ConnFactory.createConnection();session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);mProducer = session.createProducer(queue);testMessage = session.createTextMessage("hello world");// 开启连接,并发送消息conn.start();log.info(" = = = = = = = = = 开始发送消息。。。");mProducer.send(testMessage);log.info(" = = = = = = = = = 消息发送完成。。。");} catch (Exception e) {log.info(" = = = = = = = = = 消息发送异常。。。" + e.toString());e.printStackTrace();} finally {try {if (session != null) {session.close();}if (conn != null) {conn.close();}} catch (Exception e) {log.info(" = = = = = = = = = 关闭消息连接时异常:" + e.toString());e.printStackTrace();}}}public static void main(String[] args) {startSendMsg();}
}

 使用main方法运行

接收消息

import lombok.extern.slf4j.Slf4j;import javax.jms.*;
import javax.naming.Context;
import java.util.Properties;@Slf4j
public class QueueGetMsg {private static final String tcf = "tongtech.jms.jndi.JmsContextFactory";private static final String remoteURL = "tlq://192.168.1.40:10024";private static final String remoteFactory = "RemoteConnectionFactory";public static void startGetMsg(){ConnectionFactory connFactory = null;Connection conn = null;Session session = null;Queue queue = null;MessageConsumer consumer = null;try {Properties pro = new Properties();pro.setProperty("java.naming.factory.initial", tcf);pro.setProperty("java.naming.provider.url", remoteURL);Context context = new javax.naming.InitialContext(pro);connFactory = (ConnectionFactory) context.lookup(remoteFactory);conn = connFactory.createConnection();session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);queue = (Queue) context.lookup("MyQueue");consumer = session.createConsumer(queue);conn.start();consumer.setMessageListener(new MessageListener() {public void onMessage(Message message) {try {if (message != null) {if (message instanceof TextMessage) {TextMessage textMessage = (TextMessage) message;log.info(" = = = = = = = = = 收到一条Text消息:" + textMessage.getText());log.info(" = = = = = = = = = 来自 MyQueue :" + textMessage);}} else {log.info(" = = = = = = = = = 消息为空 ");}} catch (JMSException e) {e.printStackTrace();}}});} catch (Exception e) {System.out.println("Exception" + e.toString());log.info(" = = = = = = = = = 消息监听器异常: " + e.toString());e.printStackTrace();}}public static void main(String[] args) {startGetMsg();}
}

 使用main方法运行 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1424239.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

C++11 新特性 常量表达式 constexpr

为了解决常量无法确定的问题,C11在新标准中提出了关键字constexpr,它能够有效地定义常量表达式,并且达到类型安全、可移植、方便库和嵌入式系统开发的目的。 一、常量的不确定性 在C11标准以前,我们没有一种方法能够有效地要求一…

ModuleNotFoundError: No module named ‘openpyxl‘的解决方案

问题描述: ModuleNotFoundError: No module named ‘openpyxl’ 这个错误表示你的 Python 环境中没有安装 openpyxl 这个模块。openpyxl 是一个用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。 解决方案: 要解决这个问题,你需…

Java后端面试常见问题

Java后端面试 经历了两个月的面试和准备,下面对常见的八股文进行总结。有些问题是网上看到的面经里提到的,有些是我真实面试过程遇到的。 异常 1、异常分为哪几种?他们的父类是什么? 注意:所有异常对象的父类为Thr…

做简单易用的GIS资源管理软件

在室外资源管理领域,采用基于GIS的解决方案已成为主流趋势,旨在实现资源的高效利用和管理。GIS技术结合资源对象的规划、定位和监控,为企业提供全面的管理方案,从而优化资源使用、提高运营效率和降低成本。 然而,许多资…

OpenAI新模型GPT-4o“炸裂登场” 响应速度堪比真人 关键还免费!

GPT-4o模型基于来自互联网的大量数据进行训练,更擅长处理文本和音频,并且支持50种语言。更值得一提的是,GPT-4o最快可以在232毫秒的时间内响应音频输入,几乎达到了人类的响应水平。 GPT-4o有多“炸裂”?核心能力有三 G…

网工内推 | 测试工程师,NA认证以上,15薪,补充医疗险

01 天视通 招聘岗位:测试工程师 职责描述:1、网络视频监控相关软件产品测试,及行测试记录和相应各种文档资料/手册编写;2、负责编写测试计划、测试用例、搭建测试环境、执行测试;3、进行BUG验证根据测试结果&#xff…

光伏行业该如何起步?

随着全球对可再生能源的需求日益增长,光伏行业作为其中的佼佼者,正迎来前所未有的发展机遇。然而,对于新进入者或希望在这一领域有所建树的企业来说,如何起步并稳健发展是一个值得深思的问题。以下是一些关于光伏行业起步的建议。…

新手也能看懂的前端单元测试框架:Vitest

单元测试的概念及作用 1.什么是单元测试? 单元测试是测试中的一个重要环节,它针对软件中的最小可测试单元进行验证,通常是指对代码中的单个函数、方法或模块进行测试。 单元测试旨在确定特定部分代码的行为是否符合预期,通过针…

中青杯全国大学生数学建模竞赛纳入多所高校学科竞赛认定目录

2024年第六届中青杯全国大学生数学建模竞赛将于2024年5月23日17:00至5月26日17:00举行,中青杯全国大学生数学建模竞赛是中国高校学科竞赛中规模较大、影响较广的学科竞赛之一,并且纳入多所高校学科竞赛认定目录。 报名截止时间:2024年5月23日12:00 报名网站:http://www.c…

FPGA - GTX收发器-K码 以及 IBERT IP核使用

一,前言 在FPGA - Xilinx系列高速收发器---GTX中详细介绍了GTX的基础知识,以及IP核的调用,下面将补充一下GTX在使用中的高速串行数据流在接收和发送时的控制与对齐(K码),以及高速接口GTX,如果G…

深度解析 Spring 源码:解密AOP切点和通知的实现机制

文章目录 深度解析 Spring 源码:解密AOP切点和通知的实现机制一、Spring AOP的基础知识1.1 AOP的核心概念:切点、通知、切面等1.2 Spring AOP与传统AOP的区别和优势 二、深入分析切点和通知的实现2.1 研究 Pointcut 接口及其实现类2.1.1 Pointcut 接口2.…

Towards Novel Class Discovery: A Study in Novel Skin Lesions Clustering

文章目录 Towards Novel Class Discovery: A Study in Novel Skin Lesions Clustering摘要方法实验结果 Towards Novel Class Discovery: A Study in Novel Skin Lesions Clustering 摘要 在识别皮肤疾病的皮肤镜图像方面,现有的深度学习模型表现出了令人期待的性…

石碑之谜:滚动机关

描述 在蒙德和璃月的边界地带,有一个被遗忘的神庙,里面有一个奇怪的机关:滚动石碑。小熊必须操作这个112的长方体石碑,使其通过不同的地面环境,最终放置到神秘的符号“O”上,以解开通往宝藏的大门。 石碑…

Excel提取某一列的唯一值

点击【筛选】(【高级筛选】),参数里: 列表区域:为需要选择唯一值的那一列复制到:生成唯一值的目标区域 据说新版本的excel有了unique()函数,可以很快捷的选择某一列的唯一值,但是博…

重磅!OpenAI发布GPT-4o,非常惊艳语音版ChatGPT!

5月15日凌晨,谷歌召开“ I/O 2024”,生成式AI成为本次大会的重点并发布了一系列产品和多款大模型。 其中,谷歌DeepMind发布了一款全新的AI 代理(Agent)产品Project Astra,可以像昨天OpenAI发布的GPT4o一样…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-15.6讲 GPIO中断实验-GPIO驱动添加中断处理函数

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

新书速览|Django 5 Web应用开发实战

构建未来,用Django 5打造全新Web应用 本书内容 《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南。《Django 5 Web应用开发实战》内容以Python 3.x和Django 5版本为基础…

MySQL是如何选择索引的?

2.3.5. 索引选择 MySQL是如何选择索引的? 优化器决定了具体某一索引的选择,也就是常说的执行计划。而优化器的选择是基于成本(cost),哪个索引的成本越低,优先使用哪个索引。 SQL 优化器会分析所有可能的执…

so-vits-svc:AI翻唱,语音克隆

前言 这个项目是为了让开发者最喜欢的动画角色唱歌而开发的,任何涉及真人的东西都与开发者的意图背道而驰。 项目地址:https://github.com/svc-develop-team/so-vits-svc/blob/4.1-Stable/README_zh_CN.md 安装 可以自行配置,应该也不难 …

HCIP【Hybird实验】

目录 一、实验拓扑图: 二、实验要求: 三、实验思路: 四、实验过程: 1、配置PC的IP地址(不用配置网关,这个拓扑图没有使用到三层设备) 2、交换机配置 3、PC间进行测试: 一、实…