.NET 组件连接 activemq

news/2024/10/23 3:40:39/

组件安装

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新星计…