c# ActiveMQ

要下载 ActiveMQ 5.15.4 版本,可按照以下步骤操作:

访问官方下载页面:

打开浏览器,访问 ActiveMQ 官方下载存档页面。

解压缩pache-activemq-5.15.4-bin.zip,然后双击pache-activemq-5.15.4-bin\bin\win32\activemq.bat运行ActiveMQ程序。

启动ActiveMQ以后,可以使用浏览器登陆:http://localhost:8161/admin/验证, 默认用户名是:admin 密码是:admin

(前提是配置好好JDK环境)

引入dll ,这两个dll的版本都是1.8

Apache.NMS.ActiveMQ.dll

Apache.NMS.dll

csharp 复制代码
using System;
using Apache.NMS;
using Apache.NMS.ActiveMQ;
using Apache.NMS.ActiveMQ.Commands;

class Program
{
    static void Main(string[] args)
    {
     string userName = "adman";
    string Password = "123456";
        // 连接工厂,创建到ActiveMQ的连接
        ConnectionFactory factory = new ConnectionFactory("tcp://localhost:61616");
        factory.UserName = userName;
        factory.Password = Password;
        using (IConnection connection = factory.CreateConnection())
        using (ISession session = connection.CreateSession())
        {
            connection.Start();
            
            // 创建队列目的地
            IDestination destination = session.GetQueue("TestQueue");
            
            // 创建消息生产者
            using (IMessageProducer producer = session.CreateProducer(destination))
            {
                // 创建文本消息
                ITextMessage message = session.CreateTextMessage("Hello ActiveMQ from C#!");
                
                // 发送消息
                producer.Send(message);
                Console.WriteLine("消息发送成功: " + message.Text);
            }
            
            // 创建消息消费者
            using (IMessageConsumer consumer = session.CreateConsumer(destination))
            {
                // 同步接收消息(等待10秒)
                IMessage receivedMessage = consumer.Receive(TimeSpan.FromSeconds(10));
                
                if (receivedMessage is ITextMessage textMessage)
                {
                    Console.WriteLine("收到消息: " + textMessage.Text);
                }
                else
                {
                    Console.WriteLine("未收到消息或消息类型不正确");
                }
            }
        }
    }
}

在ActiveMQ的C#客户端中,alwaysSessionAsync的默认值为true

参考连接:
https://cloud.tencent.com/developer/article/2163298
(activemq设置用户名密码,提高安全访问)

https://blog.csdn.net/u010316188/article/details/86771100[添加链接描述](https://blog.csdn.net/u010316188/article/details/86771100)

相关推荐
云和数据.ChenGuang1 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节
xyouyuweizhu1 小时前
字节流与字符流:Java IO 的两条主线该怎么选
java·开发语言·python
多弗朗皮卡丘2 小时前
C++的IO流
开发语言·c++·io流·文件io流
骑着蜗牛撵大象3272 小时前
AI Agent 工程化开发实战(三):用 StateGraph 给智能体搭一条可回放的状态流水线
java·开发语言·jvm·ai·状态管理·langgraph·stategraph
itmigrate2 小时前
Rust 里的所有权误区:不是不写 clone 就叫高性能
开发语言·后端·rust
Brilliantwxx2 小时前
【Linux】 文件访问与路径解析:目录、文件名、dentry、路径缓冲与 dcache 全解析
linux·运维·服务器·开发语言·spring
摇滚侠3 小时前
《On Java 中文版 基础卷》阅读笔记 初始化和清理 08
java·开发语言·笔记
xiangyun613 小时前
C++ 手撕 shared_ptr:引用计数与控制块到底长什么样?
开发语言·c++·算法·面试·stl
XiYang-DING3 小时前
P4009.和为K的子数组个数 & P5522.异或和为 k 的子数组个数
java·开发语言
jaysee-sjc3 小时前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel