开发者社区> 问答> 正文

x64 Windows服务消费RocketMQ错误,错误模块名称: ONSClient4CPP.DLL

我这边有个C#编写的x64的windows服务,用来消费RocketMQ的数据,程序log中未记到报错信息,但每隔一段时间就没有消费数据了,重启服务又会正常运行。我今天打开事件查看器,发现有如下错误:
image
image

Win服务的代码如下:
image

image

image

然后记到的log如下:
image

并没有对应事件查看器中报错时间点的log,16:00之后的消费log第一条就是上图16:10分的。
请教怎么解决这个报错?

更新:
查到报错后会有两条Windows Error Report:
image

image

展开
收起
y璠 2017-11-10 17:17:54 5696 0
5 条回答
写回答
取消 提交回答
  • 官方提供的SDK里面有demo可以参考,把listener设置成静态的就不会出现问题了。private static MessageListener listener=new MyMessageListener();

    2019-07-17 21:43:15
    赞同 展开评论 打赏
  • 将listener设置成static的。

    2019-07-17 21:43:15
    赞同 展开评论 打赏
  • 楼主解决了吗?

    2019-07-17 21:43:15
    赞同 展开评论 打赏
  • 错误应用程序名称: xxxx.exe,版本: 1.0.0.0,时间戳: 0xbc2dcca8
    错误模块名称: ONSClient4CPP.DLL,版本: 1.1.1.0,时间戳: 0x5bcd9d8f
    异常代码: 0xc0000005
    错误偏移量: 0x00000000000ef994
    错误进程 ID: 0x1810
    错误应用程序启动时间: 0x01d4d7ea1b77a405
    错误应用程序路径: xxxx
    错误模块路径: E:xxxxONSClient4CPP.DLL
    报告 ID: 07570e22-43df-11e9-aa16-005056b65287

    遇到了同样的问题,.net framework4.5.1,windows服务环境。现在临时解决方案是设置服务自动重启,有没有大大能解答下


    var listener=new MyMessageListener();
    consumer.subscribe(topic, channelCode, listener);
    consumer.start();
    把私有变量listener改成类级private MessageListener listener=new MyMessageListener();就可以了,不知道是不是GC把私有变量listener给回收了的原因,改了之后就正常了

    2019-07-17 21:43:15
    赞同 展开评论 打赏
  • 我们也遇到相同的问题了!

    2019-07-17 21:43:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《云服务器运维之Windows篇》 立即下载
TAKING WINDOWS 10 KERNEL 立即下载
ECS运维指南之Windows系统诊断 立即下载