KafkaActor
Defined in: src/io/broker/KafkaActor.ts:166
Kafka producer + consumer in one actor, backed by kafkajs. When
consumer.groupId is set, a consumer is started after connectImpl
and consumed records are delivered to target. When a producer is
the only goal, leave consumer and topics empty.
Offset-commit semantics.
commitMode: 'auto'(default) — kafkajs commits after each handler returns successfully → at-least-once. Cheap; OK for idempotent handlers.commitMode: 'manual'— pump pauses on each message and waits for an explicitcommitcommand from the handler (#2). The handler is responsible for sending exactly onecommit(ornack) per delivered record. If neither arrives withincommitTimeoutMsthe pump rejects internally, kafkajs treats the partition as failed, and re-delivery happens on rebalance. Produces exactly-once-with-processing: a message that successfully passed throughcommitis committed; a crash ornackre-delivers.
const kafka = system.actorOf(Props.create(() => new KafkaActor({ brokers: [‘kafka:9092’], consumer: { groupId: ‘orders’, commitMode: ‘manual’ }, topics: [‘orders’], target: orderProcessor, })));
class OrderProcessor extends Actor
Extends
Section titled “Extends”Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new KafkaActor(
settings?):KafkaActor
Defined in: src/io/broker/KafkaActor.ts:178
Parameters
Section titled “Parameters”settings?
Section titled “settings?”Partial<KafkaActorSettings> = {}
Returns
Section titled “Returns”KafkaActor
Overrides
Section titled “Overrides”BrokerActor<KafkaActorSettings, KafkaCmd, KafkaPublish>.constructor
Methods
Section titled “Methods”onReceive()
Section titled “onReceive()”onReceive(
cmd):void
Defined in: src/io/broker/KafkaActor.ts:339
Main message handler. Receives each envelope dequeued from the mailbox. A thrown error (sync or async) is caught by the supervisor.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”postRestart()
Section titled “postRestart()”postRestart(
_reason):void|Promise<void>
Defined in: src/Actor.ts:55
Called on the fresh instance after a restart. Default: call preStart().
Parameters
Section titled “Parameters”_reason
Section titled “_reason”Error
Returns
Section titled “Returns”void | Promise<void>
Inherited from
Section titled “Inherited from”postStop()
Section titled “postStop()”postStop():
Promise<void>
Defined in: src/io/broker/BrokerActor.ts:241
Called after the actor has been terminated. Children are already stopped.
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”preRestart()
Section titled “preRestart()”preRestart(
_reason,_message?):void|Promise<void>
Defined in: src/Actor.ts:50
Called before a restart, on the instance about to be thrown away. The default stops children and then calls postStop().
Parameters
Section titled “Parameters”_reason
Section titled “_reason”Error
_message?
Section titled “_message?”Returns
Section titled “Returns”void | Promise<void>
Inherited from
Section titled “Inherited from”preStart()
Section titled “preStart()”preStart():
Promise<void>
Defined in: src/io/broker/BrokerActor.ts:235
Called after construction and before the first message is processed.
Returns
Section titled “Returns”Promise<void>
Inherited from
Section titled “Inherited from”supervisorStrategy()
Section titled “supervisorStrategy()”supervisorStrategy():
SupervisorStrategy
Defined in: src/Actor.ts:63
Supervisor strategy for this actor’s children. Defaults to restart, up to 10 times per minute, then stop.