从Apache Flink RabbitMQ源连接器访问消息属性
我正在使用Apache Flinke 1.7.2 RabbitMQ连接器: 我想访问随amqp消息正文一起发送的amqp消息属性中的消息\u id。我希望能够根据该消息ID进行分组。问题是,在构建消息之后,我只能从源代码中获取消息体从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 {
有没有一种简单的方法不需要我从头重写源类?我想这是不可能的。查看连接器的外观,您可以看到它们仅提取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());
// ....
收集(结果);
}
}
}
我想您必须找到另一个连接器(第三方)或自行实现。为这个坏消息感到抱歉