activemq之netcore调用

这里使用了apache的Nms.ActiveMQ

 安装完之后,发现一个问题,只支持netframework4.6

 后来发现选错了包,换一个支持netcore的包

**********************************上面使用后,发现了一个非常大的问题,一到调用就失败***************

由于ActiveMQ官方支持的是dotnet版本,而netcore只需要拿到源码,直接编译一下,就可以使用了。所以,我准备自己编译一个netcore的版本,供自己使用。说干就干。。。

首先下载源码:

一共有两个:

https://github.com/apache/activemq-nms-api

https://github.com/apache/activemq-nms-openwire

 然后新建两个工程:

然后直接把源代码拷贝进行

nms-api 对应ApacheNMS

 nms-openwire 对应ActiveMq

编译会出现一个问题:

这个直接去掉即可

另外,需要引用一个netcore的库

编译直接通过了:

 写了一个demo如下:

using Apache.NMS;
using Apache.NMS.ActiveMQ;
using Apache.NMS.Util;
using System;

namespace ActiveMqTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            String QueuesNameESF = "queue://test.log";
            Uri _uri = new Uri(String.Concat("activemq:tcp://192.168.227.1:61616"));
            IConnectionFactory factory = new ConnectionFactory(_uri);
            using (IConnection conn = factory.CreateConnection("admin", "manager"))
            {
                using (ISession session = conn.CreateSession())
                {
                    IDestination destination = SessionUtil.GetDestination(session, QueuesNameESF);
                    using (IMessageProducer producer = session.CreateProducer(destination))
                    {
                        conn.Start();
                        //可以写入字符串,也可以是一个xml字符串等
                        ITextMessage request = session.CreateTextMessage("messsage");
                        producer.Send(request);

                    }
                }
            }
        }
    }
}

发送成功如下:

 

为了方便学习与交流,代码上传如下:

https://gitee.com/g0415shenw/dotnetTest/tree/master/ActiveMqTest

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值