从Apache Flink RabbitMQ源连接器访问消息属性

从Apache Flink RabbitMQ源连接器访问消息属性,rabbitmq,apache-flink,Rabbitmq,Apache Flink,我正在使用Apache Flinke 1.7.2 RabbitMQ连接器: 我想访问随amqp消息正文一起发送的amqp消息属性中的消息\u id。我希望能够根据该消息ID进行分组。问题是,在构建消息之后,我只能从源代码中获取消息体 有没有一种简单的方法不需要我从头重写源类?我想这是不可能的。查看连接器的外观,您可以看到它们仅提取RMQ消息的主体: @Override public void run(SourceContext<OUT> ctx) throws Exception {

我正在使用Apache Flinke 1.7.2 RabbitMQ连接器:

我想访问随amqp消息正文一起发送的amqp消息属性中的消息\u id。我希望能够根据该消息ID进行分组。问题是,在构建消息之后,我只能从源代码中获取消息体


有没有一种简单的方法不需要我从头重写源类?

我想这是不可能的。查看连接器的外观,您可以看到它们仅提取RMQ消息的主体:

@Override
public void run(SourceContext<OUT> ctx) throws Exception {
    while (running) {
        QueueingConsumer.Delivery delivery = consumer.nextDelivery();
        synchronized (ctx.getCheckpointLock()) {
            OUT result = schema.deserialize(delivery.getBody());
            // ....
        ctx.collect(result);
        }
    }
}
@覆盖
公共无效运行(SourceContext ctx)引发异常{
(跑步时){
QueueingConsumer.Delivery=consumer.nextDelivery();
已同步(ctx.getCheckpointLock()){
OUT result=schema.deserialize(delivery.getBody());
// ....
收集(结果);
}
}
}
我想您必须找到另一个连接器(第三方)或自行实现。为这个坏消息感到抱歉