C#整合ActiveMQ与SpringBoot整合ActiveMQ数据间交互
一、SpringBoot整合AvtiveMQ部分
1.引入ActiveMQ依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
2.在application中加入配置参数,放在spring配置下
activemq:
broker-url: tcp://127.0.0.1:61616
user: admin
password: admin
in-memory: false
packages:
trust-all: true
pool:
max-connections: 10
enabled: false
idle-timeout: 30000
jms:
pub-sub-domain: true
3.创建topic
package com.mengxiangnongfu.smart_party_school.framework.configure; import org.apache.activemq.command.ActiveMQTopic;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.jms.annotation.EnableJms;
import org.springframework.stereotype.Component; import javax.jms.Topic; /**
* @author Yang
* @version 1.0
* @date 2022/6/23 13:51
*/
@Component
@EnableJms
public class ActiveMqTopicConfig { /**
* 照明的topic
* @return
*/
@Bean(name = "lighting")
public Topic lig() {
return new ActiveMQTopic("lighting-topic");
} }
4.发送数据
@Autowired
@Qualifier(value = "lighting") //注入配置topice的bean 因为可能配置多个topice的bean所以加入 @Qualifier指定name
private Topic lighting;
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate; @Autowired
@Qualifier(value = "lighting")
private Topic lighting; @Release
@GetMapping("/active-mq/send")
public AjaxResult activeMqSend() {
log.debug("【debug】.......");
jmsMessagingTemplate.convertAndSend(lighting, "F1 F2 F3 F4 F4");
return AjaxResult.success();
}
二、C#整合ActiveMQ
1.通过NuGet引入Active依赖

2.建立与activemq的通讯,建议用多线程,在新建的线程中做
public void Receive()
{
try
{
//创建连接池
IConnectionFactory factory = new ConnectionFactory("tcp://127.0.0.1:61616/");
IConnection connection = factory.CreateConnection();
connection.ClientId = SystemConstants.LIGHTING_CLIENT_NAME;
connection.Start(); ISession session = connection.CreateSession(); //创建Consumer
IMessageConsumer consumer = session.CreateDurableConsumer(new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("lighting-topic"), "Consumer1", null, false);
consumer.Listener += new MessageListener(consumer_Listener); /* connection.Stop();
connection.Close();*/
}
catch (System.Exception e)
{
rtx_result.Text += e.Message;
}
}
void consumer_Listener(IMessage message)
{
try
{
ITextMessage msg = (ITextMessage)message;
//Invoke(new DelegateRevMessage(RevMessage), msg);
rtx_result.Text = rtx_result.Text + msg.Text+"\n";
}
catch (System.Exception e)
{
Console.WriteLine(e.Message);
}
}
public delegate void DelegateRevMessage(ITextMessage message);
public void RevMessage(ITextMessage message)
{
rtx_result.Text += string.Format(@"接收到:{0}{1}", message.Text, Environment.NewLine);
}
C#整合ActiveMQ与SpringBoot整合ActiveMQ数据间交互的更多相关文章
- SpringBoot系列八:SpringBoot整合消息服务(SpringBoot 整合 ActiveMQ、SpringBoot 整合 RabbitMQ、SpringBoot 整合 Kafka)
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合消息服务 2.具体内容 对于异步消息组件在实际的应用之中会有两类: · JMS:代表作就是 ...
- SpringBoot整合全局异常处理&SpringBoot整合定时任务Task&SpringBoot整合异步任务
============整合全局异常=========== 1.整合web访问的全局异常 如果不做全局异常处理直接访问如果报错,页面会报错500错误,对于界面的显示非常不友好,因此需要做处理. 全局异 ...
- 【SpringBoot整合Elasticsearch】SpringBoot整合ElasticSearch
一.Linux下安装ElasticSearch 1.检测是否安装了Elasticsearch ps aux |grep elasticsearch 2.安装JDK 3.下载Elasticsearch ...
- SpringBoot整合Jsp和Thymeleaf (附工程)
前言 本篇文章主要讲述SpringBoot整合Jsp以及SpringBoot整合Thymeleaf,实现一个简单的用户增删改查示例工程.事先说明,有三个项目,两个是单独整合的,一个是将它们整合在一起的 ...
- Springboot整合druid
目录 Springboot整合druid application.yml DruidConfig 数据监控地址:http://localhost:8080/druid Springboot整合drui ...
- 很详细的SpringBoot整合UEditor教程
很详细的SpringBoot整合UEditor教程 2017年04月10日 20:27:21 小宝2333 阅读数:21529 版权声明:本文为博主原创文章,未经博主允许不得转载. https: ...
- 凭借SpringBoot整合Neo4j,我理清了《雷神》中错综复杂的人物关系
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. 虽然距离中秋放假还要熬过漫长的两天,不过也有个好消息,今天是<雷神4>上线Disney+流媒体的日子 ...
- SpringBoot整合Swagger2,再也不用维护接口文档了!
前后端分离后,维护接口文档基本上是必不可少的工作.一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了.当然这是一种非常理想的状态,实际开发中却很 ...
- Springboot的日志管理&Springboot整合Junit测试&Springboot中AOP的使用
==============Springboot的日志管理============= springboot无需引入日志的包,springboot默认已经依赖了slf4j.logback.log4j等日 ...
- Spring Boot2 系列教程(十七)SpringBoot 整合 Swagger2
前后端分离后,维护接口文档基本上是必不可少的工作. 一个理想的状态是设计好后,接口文档发给前端和后端,大伙按照既定的规则各自开发,开发好了对接上了就可以上线了.当然这是一种非常理想的状态,实际开发中却 ...
随机推荐
- TCP\ip 地址总结
127.0.0.1 本地回环地址,一般用于测试网卡是否正常工作 192.168.1.0 代表网络地址一个网络段 192.168.1.1-254 可用网络地址 192.168.1.255 广播地址!
- flutter Error:Cannot run with sound null safety, because the following dependencies don't support
学习flutter新版本的路上,真的是一天一个新惊喜啊 今天遇到的坑是 Flutter 升级高版本后,运行和build 报错 Error: Cannot run with sound null saf ...
- 手把手教你用LOTO虚拟示波器搭建测试系统整机
虚拟示波器如果用于个人的研发调试工作,主要能体现出它的小巧便携以及功能强大.而它的另一个巨大优势,可集成性可定制性高,则是在我们做项目中搭建测试系统的时候才能更好的体现出来. 通常测试系统要求长时间工 ...
- Kubernetes(k8s)控制器(二):DaemonSet
目录 一.系统环境 二.前言 三.DaemonSet 概览 四.创建DaemonSet 4.1 创建daemonset 让其在k8s集群所有worker节点运行pod 4.2 创建daemonset让 ...
- FreeBSD 安装 fcitx5的配置
link: Chinese Pinyin Package for typing Chinese sudo pkg install -y zh-CJKUnifonts sudo pkg install ...
- vivo官网App模块化开发方案-ModularDevTool
作者:vivo 互联网客户端团队- Wang Zhenyu 本文主要讲述了Android客户端模块化开发的痛点及解决方案,详细讲解了方案的实现思路和具体实现方法. 说明:本工具基于vivo互联网客户端 ...
- boot-repair
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update sudo apt-get insta ...
- The Missing Semester - 第四讲 学习笔记
第四讲 数据整理 课程视频地址:https://www.bilibili.com/video/BV1ym4y197iZ 课程讲义地址:https://missing-semester-cn.githu ...
- jupyter环境搭建
前言 jupyter,一个交互式的笔记本,进行数据分析时比pycharm要好用和专业一些. jupyter安装的正确姿势 在别的教程里,他们讲的是通过pip install jupyter或者brew ...
- JZOJ 5352. 【NOIP2017提高A组模拟9.7】计数题
题目 分析 考虑 \(kruskal\) 的过程 我们选边从高位开始 当前位为 \(0\) 的放一边,为 \(1\) 的放另一边 将 \(0\) 的建一棵字典树, \(1\) 的匹配 因为是异或,那就 ...