/// <summary> /// 接收消息 /// </summary> /// <param name="msg"></param> public static void Subscribe(Message msg, IProcessMessage ipro) { //// 创建消息bus //using (IBus bus = BusBuilder.CreateMessageBus()) //{ // try // { // bus.Subscribe<Message>(msg.MessageRouter, message => ipro.ProcessMsg(message), x => x.WithTopic(msg.MessageRouter)); // } // catch (EasyNetQException ex) // { // //处理连接消息服务器异常 // } //} //// 创建消息bus IBus bus = BusBuilder.CreateMessageBus(); try { bus.Subscribe <Message>(msg.MessageRouter, message => ipro.ProcessMsg(message), x => x.WithTopic(msg.MessageRouter)); } catch (EasyNetQException ex) { //处理连接消息服务器异常 } }
//public static void PublishFanout(Message msg) //{ // var bus = BusBuilder.CreateMessage(); // try // { // if (bus.IsConnected) // { // var exchange=bus. // } // } // catch (Exception e) // { // throw; // } //} /// <summary> /// 接受消息 /// </summary> /// <param name="msg"></param> /// <param name="ipro"></param> public static void Subscribe(Message msg, IProcessMessage ipro) { //创建消息Bus IBus bus = BusBuilder.CreateMessage(); try { bus.Subscribe <Message>(msg.MessageRouter, m => ipro.ProcessMsg(m), x => x.WithTopic(msg.MessageRouter)); } catch (Exception) { //错误消息处理 } }
/// <summary> /// 接收消息 /// </summary> /// <param name="msg"></param> public static void Subscribe(BaseMessage msg, IProcessMessage ipro) { //// 创建消息bus IBus bus = BusBuilder.CreateMessageBus(); try { bus.Subscribe <BaseMessage>(msg.MessageRouter, message => ipro.ProcessMsg(message), x => x.WithTopic(msg.MessageRouter)); } catch (EasyNetQException ex) { throw ex; } }
/// <summary> /// 接收消息 /// </summary> /// <param name="msg"></param> public static void Subscribe(Message msg, IProcessMessage ipro) { //// 创建消息bus IBus bus = BusBuilder.CreateMessageBus(); try { bus.Subscribe <Message>(msg.MessageID, message => ipro.ProcessMsg(message), x => x.WithTopic(msg.MessageRouter).WithArgument("x-ha-policy", "all")); } catch (EasyNetQException) { //处理连接消息服务器异常 // MessageHelper.WriteFuntionExceptionLog("Subscribe", ex.Message + " | " + ex.StackTrace); } }