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)

相关推荐
我的xiaodoujiao7 分钟前
Django 基础知识详细图文教程 14-Django 表单定义与使用
开发语言·后端·python·django
(Charon)10 分钟前
【C++面试】单例模式:懒汉式与饿汉式的实现、区别与线程安全
开发语言·c++·面试
anew___26 分钟前
《从零手写操作系统 (29):管道与重定向进阶——命名管道、Here Document与Shell语法扩展》
java·开发语言·前端·javascript·网络
jimy139 分钟前
虚函数和 RTTI实现运行时多态
开发语言·c++
一个有温度的技术博主1 小时前
凌晨两点的死锁:当线程“互相等死“
开发语言·后端·场景
Είναι η κοπέλα1 小时前
llama.cpp 与 GGUF 格式:本地大模型的“裸引擎“
开发语言·人工智能·pytorch·python·conda
大草原的小灰灰2 小时前
Python面向对象编程
开发语言·python
知识分享小能手2 小时前
C学习教程,从入门到精通,C语言概述 —— 知识点详解(1)
c语言·开发语言·学习
Chen_harmony2 小时前
一、C++入门基础
开发语言·c++
学逆向的2 小时前
远程线程注入
开发语言·jvm·网络安全·win32