Class IntakeEventProducer

java.lang.Object
ai.pipeline.connector.intake.event.IntakeEventProducer

@ApplicationScoped public class IntakeEventProducer extends Object
Publishes intake lifecycle events to Kafka via the platform's quarkus-apicurio-registry-protobuf extension: inject a typed ProtobufEmitter per channel and call send(event) — the extension handles protobuf serialization, the deterministic UUID key (via IntakeEventKeyExtractors), Apicurio schema registration, and topic wiring. One proto type per channel/topic.

The published event is the source of truth: DocumentAccepted is projected into the upload-receipt read-model by IntakeReceiptProjector, so the upload path never blocks on a DB write. Emission is best-effort (telemetry must never fail an upload) — a send failure is logged, not propagated.

  • Constructor Details

    • IntakeEventProducer

      public IntakeEventProducer()
  • Method Details

    • emitAccepted

      public void emitAccepted(ai.pipestream.connector.intake.v1.DocumentAccepted event)
    • emitRejected

      public void emitRejected(ai.pipestream.connector.intake.v1.DocumentRejected event)
    • emitError

      public void emitError(ai.pipestream.connector.intake.v1.DocumentError event)