我正在使用Apache Flinke 1.7.2 RabbitMQ连接器:https://ci.apache.org/projects/flink/flink-docs-stable/dev/connectors/rabbitmq.html
我想访问与amqp消息正文一起发送的amqp消息属性中的message_id。我希望能够按该邮件ID进行分组。问题在于,我仅在构建消息后才从源中获取消息的正文。
有没有一种简便的方法,不需要我从头开始重写源类?
答案 0 :(得分:1)
我想这是不可能的。查看连接器的source-code,您会看到它们仅提取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);
}
}
}
我想您必须找到另一个连接器(第三方)或自己实现。对不起这个坏消息!