安装流程在上一篇
引入包
在nuget中下载安装Apache.NMS.ActiveMQ 如图 收发都要
引入
using Apache.NMS;
using Apache.NMS.ActiveMQ;
发信方
IConnectionFactory factory = new ConnectionFactory("tcp://localhost:61616");
// 创建连接
using (IConnection connection = factory.CreateConnection())
{
// 开启连接
connection.Start();
// 创建会话
using (ISession session = connection.CreateSession())
{
// 创建目的地(队列或主题)
IDestination destination = session.GetQueue("testqueue");
// 创建生产者
using (IMessageProducer producer = session.CreateProducer(destination))
{
// 创建消息
ITextMessage message = session.CreateTextMessage("Hello, ActiveMQ!" + DateTime.Now.ToString());
// 发送消息
producer.Send(message);
}
}
connection.Close();
}
收信方
此处创建的是控制台程序demo 入图
internal class Program
{
public static void mq_load()
{
// 创建连接工厂
IConnectionFactory factory = new ConnectionFactory("tcp://localhost:61616");
// 创建连接
using (IConnection connection = factory.CreateConnection())
{
// 创建会话
using (ISession session = connection.CreateSession())
{
// 创建目的地
IDestination destination = session.GetQueue("testqueue");
// 创建消费者
IMessageConsumer consumer = session.CreateConsumer(destination);
// 设置消息监听器
consumer.Listener += new MessageListener(OnMessage);
// 启动连接
connection.Start();
// 等待消息
Console.ReadLine();
}
}
}
static void OnMessage(IMessage message)
{
if (message is ITextMessage textMessage)
{
// 处理消息
Console.WriteLine("Received message: " + textMessage.Text);
}
}
static void Main(string[] args)
{
mq_load();
}
}
标签:C#,demo,connection,session,创建,using,message,ActiveMQ From: https://www.cnblogs.com/flydmxy/p/17292215.html