Class ProtobufKafkaProcessor
java.lang.Object
ai.pipestream.kafka.connector.deployment.ProtobufKafkaProcessor
Quarkus build-time processor for the Pipeline Protobuf Kafka Connector extension.
This processor implements the "No-Cheating" architecture that automatically configures
Kafka channels for Protobuf message serialization/deserialization. Instead of requiring
manual configuration in application.properties, it scans the codebase at build time
to discover
and
invalid reference
ai.pipestream.api.annotation.ProtobufIncoming
annotations and generates
the appropriate SmallRye Reactive Messaging configuration.invalid reference
ai.pipestream.api.annotation.ProtobufChannel
Architecture Overview
The processor operates in two phases:
- Build-Time Discovery: Uses Jandex to scan for Protobuf annotations and extract message types
- Configuration Generation: Produces
SystemPropertyBuildItems that configure Kafka serializers, deserializers, and Apicurio Registry settings
Key Features
- Automatic Protobuf type detection from method parameters and field generics
- Topic name derivation from channel names (removes -in/-out suffixes)
- Global Apicurio Registry URL bridging
- Parent-first classloading configuration for Protobuf artifacts
- Annotation-based property overrides
Thread Safety
This processor is designed to be thread-safe as it only reads from the Jandex index and produces build items. No mutable state is maintained between build steps.
- Since:
- 0.2.10
- See Also:
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
ProtobufKafkaProcessor
public ProtobufKafkaProcessor()
-