---
title: "Shifting from Java implementation to C implementation"
url: "https://axoflow.com/docs/axosyslog-core/4.28/chapter-destinations/configuring-destinations-kafka-c/destination-kafka-c-from-java/"
last_modified: "2026-08-02T11:39:11+02:00"
---

> For the complete documentation index, see [llms.txt](https://axoflow.com/docs/axosyslog-core/4.28/llms.txt).

# Shifting from Java implementation to C implementation

AxoSyslog has removed the Java implementation of the `kafka()` destination: both `kafka()` and `kafka-c()` now use the C implementation. If you’re migrating a configuration written for the Java implementation, make the following changes.

- The `template()` option has been renamed [`message()`](https://axoflow.com/docs/axosyslog-core/4.28/chapter-destinations/configuring-destinations-kafka-c/reference-destination-kafka-c/index.md#kafka-option-message).
- The `kafka-bootstrap-servers()` option has been renamed [`bootstrap-servers()`](https://axoflow.com/docs/axosyslog-core/4.28/chapter-destinations/configuring-destinations-kafka-c/reference-destination-kafka-c/index.md#kafka-option-kafka-bootstrap-servers).
- The `properties-file()` option has been removed. Set the Kafka producer properties in the [`config()`](https://axoflow.com/docs/axosyslog-core/4.28/chapter-destinations/configuring-destinations-kafka-c/reference-destination-kafka-c/index.md#config) option instead, which also replaces the old implementation’s `option()` option and has a different syntax.
- The `client-lib-dir()` option has been removed. Remove it from the configuration file, the C implementation needs no Java libraries.
- The `@define kafka-implementation kafka-c` line is no longer needed. Remove it from the configuration file.
- The [`topic()`](https://axoflow.com/docs/axosyslog-core/4.28/chapter-destinations/configuring-destinations-kafka-c/reference-destination-kafka-c/index.md#kafka-option-kafka-topic) option accepts templates. If you use a template, also set the [`fallback-topic()`](https://axoflow.com/docs/axosyslog-core/4.28/chapter-destinations/configuring-destinations-kafka-c/reference-destination-kafka-c/index.md#kafka-option-fallback-topic) option, which AxoSyslog uses when the template resolves to an invalid topic name.

For more information, see [Options of the kafka() destination’s C implementation](https://axoflow.com/docs/axosyslog-core/4.28/chapter-destinations/configuring-destinations-kafka-c/reference-destination-kafka-c/index.md).

Last modified August 2, 2026: [Adds required modules/packages to install and destination pages (553d6d9b)](https://github.com/axoflow/axosyslog-core-docs/commit/553d6d9be9a0e3ef444e62cc5351dd2ac764f01d)
