开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

有没有Flink大佬遇到过啊?读rabbitmq的时候出现Caused by这个问题

读rabbitmq的时候出现Caused by: java.lang.NullPointerException: RabbitMQ source was instantiated with usesCorrelationId set to true yet we couldn't extract the correlation id from it!
有没有Flink大佬遇到过啊?

展开
收起
cuicuicuic 2023-08-09 13:15:47 113 0
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    是的,这种NullPointerException在使用Flink连接RabbitMQ的时候确实可能会遇到。

    这个异常是因为Flink尝试从Message中提取Correlation ID,但Message对象本身为null导致的。

    一般有以下可能原因:

    RabbitMQ源的usesCorrelationId配置错误,但实际Message中无Correlation ID字段。

    Message转换过程中丢失原Message对象,转换后的对象为null。

    RabbitMQ服务或数据格式问题,发送的Message检测不到Correlation ID。

    解决方法:

    检查RabbitMQ源配置,关闭usesCorrelationId或确认Message包含正确ID字段。

    查看Message转换过程,防止原始Message对象丢失。

    联调RabbitMQ服务人员检查Message格式是否设置了Correlation ID。

    临时使用Flink水位传递语义避免依赖Correlation ID。

    尝试降级Flink版本或者RabbitMQ客户端版本避免兼容问题。

    2023-08-10 17:25:36
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载