RocketMQ-c#代码
导入包:
https://github.com/gaufung/rocketmq-client-dotnet/tree/master

using org.apache.rocketmq.client.consumer.listener;
using org.apache.rocketmq.client.producer;
using System;
using System.Text;
using java.util;
using System.Windows.Forms;
using org.apache.rocketmq.client.consumer;
using org.apache.rocketmq.common.consumer;
using System.Threading;
using System.Collections.Generic; namespace wf_RMQ3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
try
{
DefaultMQProducer p = new DefaultMQProducer("PG01");
p.setNamesrvAddr("172.20.168.210:9876");
p.setInstanceName("PER01");
//p.setProducerGroup("myproducer");
p.start();
var data = Encoding.UTF8.GetBytes(textBox1.Text.ToString());
org.apache.rocketmq.common.message.Message m = new org.apache.rocketmq.common.message.Message("TP01", data);
p.send(m);
p.shutdown();
textBox1.Text = "";
}
catch (Exception ex)
{
throw ex;
}
} private void button2_Click(object sender, EventArgs e)
{
try
{
//DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name");
////consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
//consumer.setNamesrvAddr("172.20.168.210:9876");
//consumer.subscribe("jinwei01", "*");
//consumer.registerMessageListener(new TestListener()); //consumer.start(); //启动推送型消费者
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CG01");
consumer.setNamesrvAddr("172.20.168.210:9876");
consumer.subscribe("TP01", "*"); consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
consumer.setConsumeTimestamp("");
consumer.setInstanceName("CER01");
//consumer.setConsumerGroup("myconsumer01");
//设置消费者端口,官方没有该功能。适用端口有安全限制的服务器
//if (port > 0) consumer.setClientPort(port);
//注册推送事件 consumer.registerMessageListener(new ChainwayMessageListener());
//启动消费者
consumer.start(); }
catch (Exception ex)
{
throw ex;
} } } public class ChainwayMessageListener : MessageListenerConcurrently
{ public ConsumeConcurrentlyStatus consumeMessage(List list, ConsumeConcurrentlyContext ccc) { for (int i = ; i < list.size(); i++)
{
var msg = list.get(i) as org.apache.rocketmq.common.message.Message;
byte[] body = msg.getBody();
var str = Encoding.UTF8.GetString(body); MessageBox.Show(str);
Console.Write(str);
continue; }
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
}
}
}
参考资料
https://www.cnblogs.com/gmq-sh/p/5972569.html
RocketMQ-c#代码的更多相关文章
- rocketmq生产者代码分析
rocketmq生产者代码分析 环境安装 参考http://rocketmq.apache.org/docs/quick-start/ ,配置环境变量 export NAMESRV_ADDR=loca ...
- rocketmq番外篇(一):开发命令行
匠心零度 转载请注明原创出处,谢谢! 说在前面 虽然是以rocketmq引出的开发命令行,但是任何java应用如果需要都可以借鉴引用,也是通用技术. 主题 rocketmq使用例子 Apache Co ...
- RocketMQ学习 -> NameServer路由中心
RocketMQ项目代码核心目录说明 broker:broker启动进程 client:消息客户端,包含消息生产者,消息消费者相关类 common:公共包 dev:开发者信息(非源代码) distri ...
- RocketMQ 消息丢失场景分析及如何解决
生产者产生消息发送给RocketMQ RocketMQ接收到了消息之后,必然需要存到磁盘中,否则断电或宕机之后会造成数据的丢失 消费者从RocketMQ中获取消息消费,消费成功之后,整个流程结束 1. ...
- C#分布式消息队列 EQueue 2.0 发布啦
前言 最近花了我几个月的业余时间,对EQueue做了一个重大的改造,消息持久化采用本地写文件的方式.到现在为止,总算完成了,所以第一时间写文章分享给大家这段时间我所积累的一些成果. EQueue开源地 ...
- 了解MQ
一.了解RocketMQ? rocketMQ是阿里开源的一款十分优秀的消息队列,rocketMQ具有很多其他消息队列不具有的特性,更重要的是rocketMQ是用java开发的学习成本较低,并且经历了双 ...
- Rocket MQ 问题排查命令
修改rocketmq官方代码测试: package com.alibaba.middleware.race.rocketmq; import java.util.Scanner; import com ...
- JAVA代码之RocketMQ生产和消费数据
一.启动RocketMQ [root@master ~]# cat /etc/hosts # Do not remove the following line, or various programs ...
- RocketMQ 可视化环境搭建和基础代码使用
RocketMQ 是一款分布式消息中间件,最初是由阿里巴巴消息中间件团队研发并大规模应用于生产系统,满足线上海量消息堆积的需求, 在 2016 年底捐赠给 Apache 开源基金会成为孵化项目,经过不 ...
- Spring boot实战项目整合阿里云RocketMQ (非开源版)消息队列实现发送普通消息,延时消息 --附代码
一.为什么选择RocketMQ消息队列? 首先RocketMQ是阿里巴巴自研出来的,也已开源.其性能和稳定性从双11就能看出来,借用阿里的一句官方介绍:历年双 11 购物狂欢节零点千万级 TPS.万亿 ...
随机推荐
- (转)CMDB介绍
原文:https://www.cnblogs.com/xuecaichang/p/10265936.html CMDB开发---https://blog.csdn.net/bbwangj/articl ...
- SpringBoot入门-JPA(三)
什么是JPA JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中. pom.xml <par ...
- 解决StrToDateTime()不是有效日期类型的问题
方法一: function GetDateFormat():string; var SysFrset: TFormatSettings; begin Result:=''; GetLocaleForm ...
- Qt组件(例如按钮、树形控件)上响应鼠标右键
ui->textEdit->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->textEdit,SIGNAL(cust ...
- UE4 Cel Shading(卡通渲染)
转自:https://dawnarc.com/2018/01/ue4cel-shading%E5%8D%A1%E9%80%9A%E6%B8%B2%E6%9F%93/ Cel Shading Post ...
- Java 文件完整性校验 MD5 sha1 sha256 sha224 sha384 sha512
由于项目中需要使用文件做备份,并且要提供备份文件的下载功能.备份文件体积较大,为确保下载后的文件与原文件一致,需要提供文件完整性校验. 网上有这么多此类文章,其中不少使用到了 org.apache.c ...
- Selenium+java - 操作滚动条
前言 在写脚本时,总会遇到一种情况,就是当滚动拉倒最下面了,表单或者下拉框.按钮这些元素未在当前页面展示,而webdriver提供的方法都是操作当前页面可见的元素,这时我们使用JavaScript操作 ...
- kafka删除topic及其相关数据
1.删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录 2.Kafka 删除topic ...
- SQL Server 从Excel导入到数据库操作遇到的科学计数法问题
问题描述 今天在做从Excel导入数据到SQL Server 中将数据更新到表中,可惜就这一个简单的操作中出现了一点小插曲,就在我根据Excel中的编号关联表编号以此更新姓名字段时出现转换错误问题.如 ...
- 基于Keras搭建MLP
Keras是一套基于Tensorflow.Theano及CNTK后端的高层神经网络API,可以非常友好地支持快速实验,本文从零开始介绍了如何使用Keras搭建MLP并给出两个示例. 基于Ubuntu安 ...