@joktec/kafka
Version:
JokTec - Kafka Service
21 lines • 1.49 kB
TypeScript
import { AbstractClientService } from '@joktec/core';
import { Kafka, Message } from 'kafkajs';
import { KafkaClient } from './kafka.client';
import { KafkaConfig } from './kafka.config';
import { KafkaMetricService } from './kafka.metric';
import { KafkaBatchMessage, KafkaConsumeOptions, KafkaEachMessage, KafkaProduceBatch, KafkaProduceBatchOptions, KafkaProducerOptions } from './models';
export declare class KafkaService extends AbstractClientService<KafkaConfig, Kafka> implements KafkaClient {
private kafkaMetricService;
private props;
constructor(kafkaMetricService: KafkaMetricService);
protected init(config: KafkaConfig): Promise<Kafka>;
protected start(client: Kafka, conId?: string): Promise<void>;
protected stop(client: Kafka, conId?: string): Promise<void>;
private initProducer;
private initConsumer;
consume(topics: (string | RegExp)[], groupId: string, callback: (payload: KafkaEachMessage) => Promise<void>, options?: KafkaConsumeOptions, conId?: string): Promise<void>;
consumeBatch(topics: (string | RegExp)[], groupId: string, callback: (payload: KafkaBatchMessage) => Promise<void>, options?: KafkaConsumeOptions, conId?: string): Promise<void>;
send(topic: string, messages: (string | Buffer | Message)[], options?: KafkaProducerOptions, conId?: string): Promise<void>;
sendBatch(batch: KafkaProduceBatch, options?: KafkaProduceBatchOptions, conId?: string): Promise<void>;
}
//# sourceMappingURL=kafka.service.d.ts.map