using EasyNetQ;
|
/********************************************************************************
|
|
** auth: DBS
|
|
** date: 2018/11/14 22:08:05
|
|
** desc: 尚未编写描述
|
|
** Ver.: V1.0.0
|
|
*********************************************************************************/
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace HH.WMS.Common.RabbitMQ
|
{
|
public class MQHelper
|
{
|
static IBus inBus = null;
|
static IBus outBus = null;
|
/// <summary>
|
/// 发送消息
|
/// </summary>
|
public static void Publish(Message msg)
|
{
|
//// 创建消息bus
|
if (inBus == null || !inBus.IsConnected)
|
inBus = BusBuilder.CreateMessageBus();
|
try
|
{
|
inBus.Publish(msg, x => x.WithTopic(msg.MessageRouter));
|
}
|
catch (EasyNetQException ex)
|
{
|
//处理连接消息服务器异常
|
}
|
|
//bus.Dispose();//与数据库connection类似,使用后记得销毁bus对象
|
}
|
|
/// <summary>
|
/// 接收消息
|
/// </summary>
|
/// <param name="msg"></param>
|
public static void Subscribe(Message msg, IProcessMessage ipro)
|
{
|
//// 创建消息bus
|
if (outBus == null || !outBus.IsConnected)
|
outBus= BusBuilder.CreateMessageBus();
|
|
try
|
{
|
outBus.Subscribe<Message>(msg.MessageRouter, message => ipro.ProcessMsg(message), x => x.WithTopic(msg.MessageRouter));
|
}
|
catch (EasyNetQException ex)
|
{
|
//处理连接消息服务器异常
|
}
|
}
|
}
|
}
|