今天对接第三方报警消息。厂商使用ActiveMQ消息服务。订阅成功后,消息一直接受不到。检查厂商服务器系统时间,发现和我电脑时间不一致。修改我电脑时间后,可以接受到报警消息。
c#订阅ActiveMQ消息nuget搜索apache.NMS库安装。
消息订阅代码:
IConnectionFactory Factory = new ConnectionFactory(textBoxURL.Text);
Connection = Factory.CreateConnection();
Connection.ClientId = "ActiveMQ.Listener1";
Connection.Start(); // 开启侦听
Session = Connection.CreateSession();
//MIDDLEWARE_ALARM 消息主题
Consumer = Session.CreateDurableConsumer(new Apache.NMS.ActiveMQ.Commands.ActiveMQTopic("MIDDLEWARE_ALARM"), "Customer1", null, false);
Consumer.Listener += OnMessageReceived;
//监听消息处理
private void OnMessageReceived(IMessage message)
{
if (message is ITextMessage)
{
this.BeginInvoke(new Action<string>((msg) => { textBoxMessage.AppendText(msg + "\r\n"); }), ((ITextMessage)message).Text);
}
}
原文:https://www.cnblogs.com/tianjinjin/p/14520410.html