zoukankan      html  css  js  c++  java
  • C#推送RocketMQ信息

    前段时间项目上推送待办信息,接收方OA用RocketMQ进行接收待办,这也是我第一次接触RMq,记录下使用过程。(参考https://rocketmq.apache.org/)

    一、准备工作

    引入相关类文件dll.(Nuget下载就好了)。

    前期准备工作完成后,进入主题。

    二、代码与实操

    由于.NET framework版本的问题(kafka 只支持4.8及以上版本), 建议使用RocketMQ.

     1 a)消息格式:
     2 消息主题: kara_linker
     3 b)消息体:
     4 {
     5 "messageTo":"$TOPIC",
     6 "messageBody":{待办/任务跟踪详情}
     7 }
     8 MessageTO Topic: 
     9 a)待办: task_info_topicName
    10 b)任务跟踪: task_trace_topicName

    前期铺垫完成,直接上代码。

    public bool _requestMq(string msgBody,out string errMsg) 
            {
                bool result = true;
                try
                {
                    DefaultMQProducer p = new DefaultMQProducer("producerGroup");  //producerGroup自行约定    
                    p.setNamesrvAddr("集群IP:port");//多个IP用';'隔开 如:1.1.1.1:2230;1.1.1.2:2230
                    p.setInstanceName(getRocketMqUniqeInstanceName());
                    p.setVipChannelEnabled(false);
                    p.start();
                    var data = "传输消息";
                    org.apache.rocketmq.common.message.Message m = new org.apache.rocketmq.common.message.Message("kara_linker","task_info_topicName", data);
                    SendResult sr = p.send(m);
                    
                    Pub_Method.WriteFile("sr.getMsgId():"+sr.getMsgId(), logName, out errMsg, logKey);//getMsgId()为返回标识,最好记录下,后期避免打嘴官司。
                    p.shutdown();
                    result = true;
                    errMsg = "";
                }
                catch (Exception ex)
                {
                    result = false;
                    errMsg = ex.Message;
                    Pub_Method.WriteFile("发送信息失败:" + ex.Message.ToString(), logName, out errMsg, logKey);
                }
                
                return result;
            }

    至此事成。

     

     

  • 相关阅读:
    线程池及其原理和使用
    多线程通信Queue
    Condition实现线程通信
    守护线程和锁
    习题 7:更多的打印
    习题 6:字符串和文本
    习题 5:更多的变量和打印
    习题 4:变量和命名
    习题 3:数字和数学计算
    习题 2:注解和#号
  • 原文地址:https://www.cnblogs.com/liudabao123/p/12916961.html
Copyright © 2011-2022 走看看