Как использовать контрольную точку Apache Camel AWS-KINESIS для проверки контрольной точки в потоке Kinesis?
Я использую конечную точку AWS-KINESIS в Camel для чтения из потока содержимого AWS Kinesis. Я могу читать сообщения очень хорошо, но как мне проверить сообщение в потоке? В стандартной клиентской библиотеке AWS Kinesis Java есть концепция "Рабочие и процессоры", но в Camel это, кажется, полностью исключено.
Мой маршрут:
from("aws-kinesis://" + CONTENT_STREAM_NAME + "?amazonKinesisClient=#kinesisClient").
routeId(KINESIS_EVENT_READ).
bean(recordHandler);
В обработчике записей я хотел бы проверить контрольные точки, когда запись обрабатывается правильно.
Рекордхендлер @Handler
@Handler
public void handleRecord(@Body Record record) {
processEvent(record); // I would like to checkpoint after this...
}
Есть указатели?
1 ответ
AWS-KINESIS для Camel в настоящее время использует синхронную часть Kinesis пакета AWS SDK. Рабочие, процессоры и контрольные точки, на которые вы ссылаетесь, взяты из KCL ( Kinesis Client Libary), который является более продвинутым способом доступа к Kinesis (включая поток на раздел и контрольные точки). Кажется, что пока нет ни потребительского Компонента на основе KCL для Camel, ни соответствующего Компонентного производителя на основе KPL.