我在 Camel 中使用 AWS-KINESIS 终端节点从 AWS Kinesis 内容流中读取数据。 我可以很好地读取消息,但如何检查流上的消息?在标准 AWS Kinesis Java 客户端库中,您有 Workers 和 Processors 的概念,但在 Camel 中似乎完全绕过了这一概念。
我的路线:
from("aws-kinesis://" + CONTENT_STREAM_NAME + "?amazonKinesisClient=#kinesisClient").
routeId(KINESIS_EVENT_READ).
bean(recordHandler);
在记录处理程序中,我想在正确处理记录时对记录进行检查点。
RecordHandler 的 @Handler
@Handler
public void handleRecord(@Body Record record) {
processEvent(record); // I would like to checkpoint after this...
}
有什么指点吗?
最佳答案
AWS-KINESIS for Camel 目前使用同步 Kinesis portion of the AWS SDK 。您所指的工作线程、处理器和检查点来自 KCL ( Kinesis Client Libary ),这是访问 Kinesis 的更高级方法(包括每个分区的线程和检查点)。 Camel 似乎还没有基于 KCL 的消费者组件,也没有相应的基于 KPL 的生产者组件。
关于apache-camel - 使用 Apache Camel AWS-KINESIS 端点,如何检查 Kinesis 流中的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43781790/