/// <summary> /// 消息发送(单个) /// </summary> /// <param name="queueName">队列名称</param> /// <param name="entity">消息数据</param> /// <returns>结果(0失败1成功)</returns> public int SendActiveMQMessage(MessageQueueName queueName, MessageEntity entity) { int msgResult = 0; //消息结果 string msgEntity = ""; //文本消息 //判断是否发送消息 if (entity != null) { try { //创建回话 using (ISession sesssion = connection.CreateSession()) { //实体消息序列化文本消息 msgEntity = JsonConvertTool.SerializeObject(entity); //创建生产者 IDestination destination = new Apache.NMS.ActiveMQ.Commands.ActiveMQQueue(queueName.ToString()); IMessageProducer producer = sesssion.CreateProducer(destination); //生产消息 ITextMessage _message = producer.CreateTextMessage(msgEntity); //发送消息(持久化) producer.Send(_message, MsgDeliveryMode.Persistent, MsgPriority.Normal, TimeSpan.MinValue); } msgResult = 1; } catch (Exception ex) { // LogHelper.WriteLog(typeof(ActiveMq), "方法名:SendActiveMQMessage发送消息队列异常(单个):", Engineer.maq, entity, ex); } } return(msgResult); }
/// <summary> /// 构造函数 /// </summary> /// <param name="bll"></param> public HandleActiveMq(BaseBll <T> baseBll, MessageQueueName messageQueueName) { this._BaseBll = baseBll; this._MessageQueueName = messageQueueName; }