.NET 组件连接 activemq

news/2024/7/24 14:47:14/

组件安装

Install-Package Apache.NMS.ActiveMQ

.NET 组件连接 activemq


using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Apache.NMS;
using Apache.NMS.ActiveMQ;
using Apache.NMS.ActiveMQ.Commands;
using Apache.NMS.Util;
using Microsoft.Extensions.Configuration;namespace GraphqlApp.BackendAPI.Services
{public class MqService{private string _mqUrl = string.Empty;private string _Q_Biz1 = string.Empty;public string Q_Biz1{get {return _Q_Biz1;}}public MqService(IConfiguration configuration){_mqUrl = configuration.GetValue<string>("Mq:MqUrl");_Q_Biz1 = configuration.GetValue<string>("Mq:Q_Biz1");}private IConnection CreateConnection(){Uri _uri = new Uri(String.Concat($"activemq:failover:({_mqUrl})"));IConnectionFactory factory = new ConnectionFactory(_uri);var result = factory.CreateConnection();result.AcknowledgementMode = AcknowledgementMode.ClientAcknowledge;return result;}public void Product(string queuesName, string msg){Task.Run(() =>{using (IConnection _conn = CreateConnection()){using (Apache.NMS.ISession _session = _conn.CreateSession()){IDestination _destination = SessionUtil.GetDestination(_session, queuesName);using (IMessageProducer producer = _session.CreateProducer(_destination)){ITextMessage request = _session.CreateTextMessage(msg);producer.Send(request);}}}});}public void Consume(string queuesName, Func<string, int> func){Task.Run(() =>{using (IConnection conn = this.CreateConnection()){   using (ISession session = conn.CreateSession(AcknowledgementMode.ClientAcknowledge)){   conn.Start();IDestination destination = SessionUtil.GetDestination(session, queuesName);using (IMessageConsumer consumer = session.CreateConsumer(destination)){consumer.Listener += (IMessage message) =>{ITextMessage msg = (ITextMessage)message;Console.WriteLine("从MQ接收到消息:" + msg.Text);var funcResult = func(msg.Text);if (funcResult > 0)msg.Acknowledge();};Console.ReadLine();}}}});//Console.ReadLine();}}
}

http://www.ppmy.cn/news/1129482.html

相关文章

智慧安防视频监控技术+AI智能分析算法助力美好乡村建设

上期我们聊到AI智能视频监控技术如何助力美好乡村建设&#xff1f;的相关方案&#xff0c;收到了很多粉丝的讨论与关注&#xff0c;视频监控只是乡村建设极其基础的一环&#xff0c;基于视频监控平台的AI智能算法&#xff0c;将人工智能融合到安防监控之中&#xff0c;才能让乡…

yarn安装报错:No license field

报错描述 % yarn add vantlatest-v2yarn run v1.22.19 warning ../../package.json: No license field info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.解决方法 这个错误提示是因为在项目的 package.json 文件中没有指定许可证信息。…

openssl创建CA证书教程

配置生成CA证书 总示意图&#xff1a; (1)&#xff0c;通过openssl创建CA证书 第一步&#xff1a;创建一个秘钥&#xff0c;这个便是CA证书的根本&#xff0c;之后所有的东西都来自这个秘钥 # 通过rsa算法生成2048位长度的秘钥 openssl genrsa -out myCA.key 2048 第二步&#…

【重新定义matlab强大系列十五】非线性数据拟合和线性拟合-附实现过程

&#x1f517; 运行环境&#xff1a;Matlab &#x1f6a9; 撰写作者&#xff1a;左手の明天 &#x1f947; 精选专栏&#xff1a;《python》 &#x1f525; 推荐专栏&#xff1a;《算法研究》 #### 防伪水印——左手の明天 #### &#x1f497; 大家好&#x1f917;&#x1f91…

求求,别在sql里格式化数据了

在shigen之前的文章《为什么我们总是被追赶着走》这篇文章中提到了很多的设计乱象&#xff0c;设计的恶心之处至今让我呕吐。其中的sql我说了动辄上百行&#xff0c;而一些略长的部分竟然就是为了一件事——格式化。我直接一个ca&#xff0c;格式化不能用一个VO去处理吗&#x…

王庆友-架构的本质:如何打造一个有序的系统?

整理自&#xff1a;王庆友-[架构实战案例解析] 我们知道&#xff0c;现在的软件系统越来越复杂&#xff0c;当然相应地&#xff0c;架构的作用也越来越明显。作为开发人员&#xff0c;我们每天都在和架构打交道&#xff0c;在这个过程中&#xff0c;对于架构也经常会产生各种各…

【RV1103】Luckfox Pico RV1103 开发记录

文章目录 对比uboot的差别Linux的差别其他差别编译命令对比板级配置选择spi-nand flashemmc/SD 卡spinand flash烧录差别由于没有原理图--引脚分析 对比 linux defconfiglinux dtsuboot defconfiguboot fragmentluckfox-picosd/tf (emmc)luckfox_rv1106_linux_defconfigrv1103…

基于微信小程的流浪动物领养小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

AIGC(生成式AI)试用 7 -- 桌面小程序

生成式AI&#xff0c;别人用来写作&#xff0c;我先用来写个桌面小程序。 桌面小程序&#xff1a;计算器 需求 Python开发图形界面&#xff0c;标题&#xff1a;计算器 - * / 基本运算计算范围&#xff1a;-999999999 ~ 999999999** 乘方计算&#xff08;例&#xff0c;2*…

Redis key基本使用

查看key的数据类型 string 、hash等 type key 查看key是否存在 exist key1 查看key的有效期 -1&#xff1a;永不过期 -2&#xff1a;已过期 设置key过期时间 expire key seconds expireat key 日期 key移动到其它库 move key index redis 默认是16个库 0,1,2,…15 切换数据库【…

.Net6与Framework不同方式获取文件哈希值的性能对比

算法&#xff1a;MD5、SHA1、SHA256、SHA384、SHA512文件数&#xff1a;200平台对比&#xff1a;.NET 6 vs .NET Framework 4.7.2 关键代码 // 读取文件夹&#xff0c;获取MD5值 var hashs new HashAlgorithm[] { MD5.Create(), SHA1.Create(), SHA256.Create(), SHA384.Cre…

图形处理软件Photoshop Elements 2020 mac中文版 ps简化版

Photoshop Elements 2020 mac是一款非常实用的图形处理工具。ps elements 2020 mac中文版可以帮助您自动生成照片和视频作品的功能&#xff0c;采用Adobe Sensei AI技术可进行图像组织、编辑和创建等。Photoshop Elements 2020 for Mac激活版可以帮助您轻松整理照片和视频&…

退出登录及路由守卫实现

编写logout函数&#xff0c;通过封装好的get向退出地址发送请求&#xff0c;成功后删除当前的token&#xff0c;并返回登陆页面&#xff1a; function logout(success,failuredefaultFailure){get("/api/auth/logout",()>{deleteAccessToken()ElMessage.success(…

activemq部署

目录 1.下载 2.java环境 3.解压启动 4.访问测试 5.问题记录 5.1.无法启动成功问题 5.2.其他服务器无法访问 1.下载 ActiveMQ 2.java环境 需要注意要求的jdk版本&#xff0c;否则启动不会成功 3.解压启动 tar -zxvf apache-activemq-5.18.2-bin.tar.gz 进入到目录下执行…

数据集笔记: Porto

数据来源&#xff1a;Taxi Trajectory Data_数据集-阿里云天池 (aliyun.com) 1 数据介绍 葡萄牙波尔图市运行的所有442辆出租车的全年轨迹&#xff08;从2013年7月1日至2014年6月30日&#xff09; 2 读取数据 import pandas as pdtrapd.read_csv(C:/Users/16000/Download…

KF-GINS源码阅读

原始 Markdown文档、Visio流程图、XMind思维导图见&#xff1a;https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、KF-GINS 简介1、程序概述2、相关资料3、文件结构4、第三方库 二、编译、调试三、类型定义1、核心类&#xff1a;GIEngine2、文件读写类型3、配…

Mac 通过 brew安装的 ffmpeg 切换版本

现有版本为 6.x &#xff0c;想切换至 5.x 版本 先安装 5.x 版本 brew install ffmpeg5安装完成后会出现具体版本号&#xff0c;也可以自己指定例如 brew install ffmpeg5.1.3 配置环境变量 .zshrc vi ~/.zshrc添加如下命令 export PATH/usr/local/Cellar/ffmpeg5/5.1.3/bin:…

celery分布式异步任务队列-4.4.7

文章目录 celery介绍兼容性简单使用安装使用方式 功能介绍常用案例获取任务的返回值任务中使用logging定义任务基类 任务回调函数No result will be storedResult will be stored任务的追踪、失败重试 python setup.py installln -s /run/shm /dev/shmOptional configuration, …

uniapp 微信小程序使用echarts

本文目的&#xff1a;通过分包的方式&#xff0c;尽可能在微信小程序中使用最新的echarts。 当然你也可以直接使用现成的uchart或者市场里别人封好的echarts. 准备工作 下载echarts-for-weixin源码。 复制ec-canvas文件夹以及下属文件&#xff0c;在uniapp项目中与pages同级的地…

在JavaScript中获取元素

getElementById 该方法通过元素id获取元素节点。例如&#xff1a;document.getElementById(myElement) getElementsByTagName 该方法通过标签名获取元素节点。例如&#xff1a;document.getElementsByTagName(div) getElementsByClassName 该方法通过类名获取元素节点。例如&…