## providers.akafka.KafkaEventPublisher

<span id="hexkit.providers.akafka.KafkaEventPublisher"></span>


Apache Kafka specific event publishing provider.


Usage

``` python
providers.akafka.KafkaEventPublisher(
    *,
    producer,
    generate_correlation_id,
)
```


## Methods

| Name | Description |
|----|----|
| [__init__()](#__init__) | Please do not call directly! Should be called by the [construct](providers.mongodb.MongoDbDaoFactory.md#hexkit.providers.mongodb.MongoDbDaoFactory.construct) method. |
| [construct()](#construct) | Setup and teardown KafkaEventPublisher instance with some config params. |

<span id="__init__"></span>

<span id="hexkit.providers.akafka.KafkaEventPublisher.__init__"></span>


#### \_\_init\_\_()


Please do not call directly! Should be called by the [construct](providers.mongodb.MongoDbDaoFactory.md#hexkit.providers.mongodb.MongoDbDaoFactory.construct) method.


Usage

``` python
__init__(*, producer, generate_correlation_id)
```


## Parameters

- **producer** -- hands over a started AIOKafkaProducer.
- **generate_correlation_id** -- whether to throw an error or generate a new ID if no correlation ID is set for the context when trying to publish an event. An invalid ID will result in an error in either case.


<span id="hexkit.providers.akafka.KafkaEventPublisher.construct"></span>

------------------------------------------------------------------------


#### construct()


Setup and teardown KafkaEventPublisher instance with some config params.


Usage

``` python
construct(*, config, kafka_producer_cls=AIOKafkaProducer)
```


##### Parameters


`config: KafkaConfig`  
Config parameters needed for connecting to Apache Kafka.

`kafka_producer_cls: type[KafkaProducerCompatible] = AIOKafkaProducer`  
Overwrite the used Kafka Producer class. Only intended for unit testing.
