码农-胖虎 2023-02-24 10:16 采纳率: 0%
浏览 13

springBoot 整合rocketMq

springBoot 整合rocketMq 之后在 消费者接收到消息调用service 逻辑方法 出现空指针之类的异常不会打印在控制台 这是为什么

  • 写回答

3条回答 默认 最新

  • GPT_Pro 2023-02-24 10:32
    关注

    该回答内容部分引用GPT,GPT_Pro更好的解决问题
    springBoot 整合rocketMq 之后在 消费者接收到消息调用service 逻辑方法 出现空指针之类的异常不会打印在控制台,这是因为RocketMQ是一个异步框架,consumer端有可能出现异常,但是它不会影响到生产者端,所以不会打印在控制台上。如果想要让它打印在控制台上,就需要我们自己处理下,可以在consumer端进行异常处理。例如在消费者端可以使用try-catch来处理异常:

    try {
         //TODO 这里写入消费的逻辑
         // 消费者一般会调用service逻辑去处理消息
         service.consumeMessage(msg);
    } catch (Exception e) {
        // 处理异常逻辑
        logger.error("消费者出现异常,原因{}", e.getMessage());
    }
    

    如上代码,当出现异常时就会进入catch语句,然后可以将错误信息打印出来。同时注意,一般我们也会在service中也进行try-catch处理,将service中的异常也能够打印出来。
    如果回答有帮助,望采纳。

    评论

报告相同问题?

问题事件

  • 创建了问题 2月24日

悬赏问题

  • ¥50 关于在matlab上对曲柄摇杆机构上一点的运动学仿真
  • ¥15 jetson nano
  • ¥15 :app:debugCompileClasspath'.
  • ¥15 windows c++内嵌qt出现数据转换问题。
  • ¥20 公众号如何实现点击超链接后自动发送文字
  • ¥15 用php隐藏类名和增加类名
  • ¥15 算法设计与分析课程的提问
  • ¥15 用MATLAB汇总拟合图
  • ¥15 智能除草机器人方案设计
  • ¥15 对接wps协作接口实现消息发送