From cd37a801ec5bb37ffa9003e16c7abb938a60fa65 Mon Sep 17 00:00:00 2001 From: MASES Public Developers Team <94312179+masesdevelopers@users.noreply.github.com> Date: Mon, 11 Nov 2024 23:42:21 +0100 Subject: [PATCH] Revert "Bump kafkaVersion from 3.8.1 to 3.9.0 in /src/jvm/knet (#734)" (#742) This reverts commit f8201da6dd51ed428bab947c5300f07f7e5a9600. --- .github/dependabot.yml | 26 +---------- README.md | 41 ++++++++--------- src/README.md | 67 +++++++++++----------------- src/configuration.json | 52 ++++++++++----------- src/documentation/articles/docker.md | 26 +++++------ src/documentation/articles/intro.md | 33 +++++++------- src/documentation/index.md | 42 ++++++++--------- src/jvm/knet/pom.xml | 2 +- 8 files changed, 121 insertions(+), 168 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 1ed796abb..8b04a2dfc 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -27,14 +27,6 @@ updates: reviewers: - "masesdevelopers" target-branch: "release/2.7.X" - - - package-ecosystem: "nuget" # See documentation for possible values - directory: "/src/net" # Location of package manifests - schedule: - interval: "weekly" - reviewers: - - "masesdevelopers" - target-branch: "release/2.8.X" - package-ecosystem: maven directory: "/src/jvm/knet" @@ -59,14 +51,6 @@ updates: - "masesdevelopers" target-branch: "release/2.7.X" - - package-ecosystem: maven - directory: "/src/jvm/knet" - schedule: - interval: "weekly" - reviewers: - - "masesdevelopers" - target-branch: "release/2.8.X" - - package-ecosystem: "github-actions" directory: "/" schedule: @@ -88,12 +72,4 @@ updates: interval: "weekly" reviewers: - "masesdevelopers" - target-branch: "release/2.7.X" - - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - reviewers: - - "masesdevelopers" - target-branch: "release/2.8.X" \ No newline at end of file + target-branch: "release/2.7.X" \ No newline at end of file diff --git a/README.md b/README.md index 03a665ed3..5c0dddabf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# KNet: .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.org/) +# KNet: .NET suite for [Apache Kafka™](https://kafka.apache.org/) -KNet is a comprehensive .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.org/) providing access to all [APIs](https://kafka.apache.org/documentation/#api) and features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). +KNet is a comprehensive .NET suite for [Apache Kafka™](https://kafka.apache.org/) providing access to all [APIs](https://kafka.apache.org/documentation/#api) and features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). ### Libraries and Tools @@ -16,41 +16,38 @@ KNet is a comprehensive .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.or ### Project disclaimer -KNet is a suite for Apache Kafkaâ„¢, curated by MASES Group, can be supported by the open-source community. +KNet is a suite for Apache Kafka™, curated by MASES Group, can be supported by the open-source community. Its primary scope is to support other, public or internal, MASES Group projects: open-source community and commercial entities can use it for their needs and support this project, moreover there are dedicated community and commercial subscription plans. -The repository code and releases may contain bugs, the release cycle depends from Apache Kafkaâ„¢ release cycle, critical discovered issues and/or enhancement requested from this or other projects. +The repository code and releases may contain bugs, the release cycle depends from Apache Kafka™ release cycle, critical discovered issues and/or enhancement requested from this or other projects. -Looking for the help of Apache Kafkaâ„¢ experts? MASES Group can help you design, build, deploy, and manage Apache Kafkaâ„¢ clusters and streaming applications. +Looking for the help of Apache Kafka™ experts? MASES Group can help you design, build, deploy, and manage Apache Kafka™ clusters and streaming applications. --- ## Scope of the project -This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafkaâ„¢ binary distribution](https://kafka.apache.org/downloads). +This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafka™ binary distribution](https://kafka.apache.org/downloads). -There are many client libraries written to manage communication with Apache Kafkaâ„¢. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: +There are many client libraries written to manage communication with Apache Kafka™. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: * all implemented features are availables at no extra implementation costs, see [KNet usage](src/documentation/articles/usage.md); * avoids any third party communication protocol implementation; -* access all features made available from Apache Kafkaâ„¢: the most important are Apache Kafkaâ„¢ Streams and Apache Kafkaâ„¢ Connect which does not have any C# implementation; +* access all features made available from Apache Kafka™: the most important are Apache Kafka™ Streams and Apache Kafka™ Connect which does not have any C# implementation; * measured high [performance](src/documentation/articles/performance.md) in many operating conditions. -Currently the project tries to support, at our best, the [supported Apache Kafkaâ„¢ binary distribution](https://kafka.apache.org/downloads): -- Apache Kafkaâ„¢ version 3.9.*: - - branch [master](https://github.com/masesgroup/KNet) - - KNet version 2.9.* -- Apache Kafkaâ„¢ version 3.8.*: +Currently the project tries to support, at our best, the [supported Apache Kafka™ binary distribution](https://kafka.apache.org/downloads): +- Apache Kafka™ version 3.8.*: - branch [master](https://github.com/masesgroup/KNet) - KNet version 2.8.* -- Apache Kafkaâ„¢ version 3.7.*: +- Apache Kafka™ version 3.7.*: - branch [release/2.7.X](https://github.com/masesgroup/KNet/tree/release/2.7.X) - KNet version 2.7.* -- Apache Kafkaâ„¢ version 3.6.*: +- Apache Kafka™ version 3.6.*: - branch [release/2.6.X](https://github.com/masesgroup/KNet/tree/release/2.6.X) - KNet version 2.6.* -The Apache Kafkaâ„¢ packages are downloaded from: +The Apache Kafka™ packages are downloaded from: |kafka-clients | kafka-streams | kafka-tools | kafka_2.13 | |:---: |:---: |:---: |:---: | @@ -93,17 +90,17 @@ This project adheres to the Contributor [Covenant code of conduct](CODE_OF_CONDU ### News -* V1.4.4+: From version 1.4.4 there is a new project, named KNetPS, which permits to write PowerShell client scripts for an Apache Kafkaâ„¢ cluster and many other things, [here full usage](src/documentation/articles/usagePS.md). -* V1.4.7+: From version 1.4.7 there is a new project, named KNetConnect, to execute Apache Kafkaâ„¢ Connect related jobs, [here full usage](src/documentation/articles/usageConnect.md). +* V1.4.4+: From version 1.4.4 there is a new project, named KNetPS, which permits to write PowerShell client scripts for an Apache Kafka™ cluster and many other things, [here full usage](src/documentation/articles/usagePS.md). +* V1.4.7+: From version 1.4.7 there is a new project, named KNetConnect, to execute Apache Kafka™ Connect related jobs, [here full usage](src/documentation/articles/usageConnect.md). * V1.5.4+: From version 1.5.4 there are new packages dedicated to [KNet Serializer/Deserializer](src/documentation/articles/usageSerDes.md) -* V2.0.0+: From version 2.0.0 the code base is fully reflected from the JARs of the Apache Kafkaâ„¢ distribution downloaded from Maven; some developed classes still remains beside the specific KNet implementations +* V2.0.0+: From version 2.0.0 the code base is fully reflected from the JARs of the Apache Kafka™ distribution downloaded from Maven; some developed classes still remains beside the specific KNet implementations * V2.4.0+: From version 2.4.0 it is available the new KNet Streams SDK * V2.5.0+: From version 2.5.0 there are two breaking changes: uses `Java.Lang.String` instead of `string` (`System.String`) in generated classes and KNet Streams SDK manages the counter-part JVM types * V2.7.0+: From version 2.7.0: * all classes KNetProducer, KNetConsumer and KNet Streams SDK manage the counter-part JVM types * serializers supports data exchange based on `byte` array and `ByteBuffer` * version 2.7.2 introduces `ISerDesSelector` to optimize serialization selection based on `byte` array or `ByteBuffer` -* V2.8.0+: From version 2.8.0: supports Apache Kafkaâ„¢ version 3.8.* +* V2.8.0+: From version 2.8.0: supports Apache Kafka™ version 3.8.* --- @@ -114,9 +111,9 @@ KNet uses [JNet](https://github.com/masesgroup/JNet), and indeed [JCOBridge](htt * [JVM](https://en.wikipedia.org/wiki/Java_virtual_machine) and [CLR, or CoreCLR,](https://en.wikipedia.org/wiki/Common_Language_Runtime) runs in the same process, but are insulated from each other; * JCOBridge does not make any code injection into JVM; * JCOBridge does not use any other communication mechanism than JNI; - * .NET (CLR) inherently inherits the cyber-security levels of running JVM and Apache Kafkaâ„¢; + * .NET (CLR) inherently inherits the cyber-security levels of running JVM and Apache Kafka™; * **Direct access the JVM from any .NET application**: - * Any Java/Scala class behind Apache Kafkaâ„¢ can be directly managed: Consumer, Producer, Administration, Streams, Server-side, and so on; + * Any Java/Scala class behind Apache Kafka™ can be directly managed: Consumer, Producer, Administration, Streams, Server-side, and so on; * No need to learn new APIs: we try to expose the same APIs in C# style; * No extra validation cycle on protocol and functionality: bug fix, improvements, new features are immediately available; * Documentation is shared; diff --git a/src/README.md b/src/README.md index 80b34eccc..35c5892cf 100644 --- a/src/README.md +++ b/src/README.md @@ -2,16 +2,8 @@ The command used to build the classes is the following: -1. Download the latest version of reflection utility: - -```cmd -dotnet tool update -g MASES.JNetReflector -``` - -2. Run the reflection utility: - ```cmd -jnetreflector -TraceLevel 0 -OriginRootPath .\jars -DestinationRootPath .\src\ -ConfigurationFile .\src\configuration.json +MASES.JNetReflector.exe -TraceLevel 0 -OriginRootPath .\jars -DestinationRootPath .\src\ -ConfigurationFile .\src\configuration.json ``` The configuration is: @@ -26,72 +18,67 @@ The configuration is: "DisableInterfaceMethodGeneration": true, "CreateInterfaceInheritance": true, "JarList": [ - "kafka_2.13-3.9.0.jar", - "kafka-clients-3.9.0.jar", - "kafka-streams-3.9.0.jar", - "kafka-tools-3.9.0.jar", - "kafka-raft-3.9.0.jar", - "kafka-shell-3.9.0.jar", - "connect-api-3.9.0.jar", - "connect-basic-auth-extension-3.9.0.jar", - "connect-json-3.9.0.jar", - "connect-mirror-3.9.0.jar", - "connect-mirror-client-3.9.0.jar", - "connect-runtime-3.9.0.jar", - "connect-transforms-3.9.0.jar" + "kafka_2.13-3.8.0.jar", + "kafka-clients-3.8.0.jar", + "kafka-streams-3.8.0.jar", + "kafka-tools-3.8.0.jar", + "kafka-raft-3.8.0.jar", + "connect-api-3.8.0.jar", + "connect-basic-auth-extension-3.8.0.jar", + "connect-json-3.8.0.jar", + "connect-mirror-3.8.0.jar", + "connect-mirror-client-3.8.0.jar", + "connect-runtime-3.8.0.jar", + "connect-transforms-3.8.0.jar" ], "OriginJavadocJARVersionAndUrls": [ { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka_2.13/3.9.0/" - }, - { - "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-clients/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka_2.13/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-streams/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-clients/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-tools/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-streams/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-raft/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-tools/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-shell/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-raft/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-api/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-api/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-basic-auth-extension/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-basic-auth-extension/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-json/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-json/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror-client/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror-client/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-runtime/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-runtime/3.8.0/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-transforms/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-transforms/3.8.0/" } ], "NamespacesToAvoid": [ @@ -149,10 +136,6 @@ The configuration is: "org.apache.kafka.raft.internals", "org.apache.kafka.server", "org.apache.kafka.shaded", - "org.apache.kafka.shell.command", - "org.apache.kafka.shell.glob", - "org.apache.kafka.shell.node", - "org.apache.kafka.shell.state", "org.apache.kafka.streams.internals", "org.apache.kafka.streams.processor.internals", "org.apache.kafka.streams.state.internals", diff --git a/src/configuration.json b/src/configuration.json index c3174ecff..0e7ccf191 100644 --- a/src/configuration.json +++ b/src/configuration.json @@ -7,72 +7,72 @@ "DisableInterfaceMethodGeneration": true, "CreateInterfaceInheritance": true, "JarList": [ - "kafka_2.13-3.9.0.jar", - "kafka-clients-3.9.0.jar", - "kafka-streams-3.9.0.jar", - "kafka-tools-3.9.0.jar", - "kafka-raft-3.9.0.jar", - "kafka-shell-3.9.0.jar", - "connect-api-3.9.0.jar", - "connect-basic-auth-extension-3.9.0.jar", - "connect-json-3.9.0.jar", - "connect-mirror-3.9.0.jar", - "connect-mirror-client-3.9.0.jar", - "connect-runtime-3.9.0.jar", - "connect-transforms-3.9.0.jar" + "kafka_2.13-3.8.1.jar", + "kafka-clients-3.8.1.jar", + "kafka-streams-3.8.1.jar", + "kafka-tools-3.8.1.jar", + "kafka-raft-3.8.1.jar", + "kafka-shell-3.8.1.jar", + "connect-api-3.8.1.jar", + "connect-basic-auth-extension-3.8.1.jar", + "connect-json-3.8.1.jar", + "connect-mirror-3.8.1.jar", + "connect-mirror-client-3.8.1.jar", + "connect-runtime-3.8.1.jar", + "connect-transforms-3.8.1.jar" ], "OriginJavadocJARVersionAndUrls": [ { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka_2.13/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka_2.13/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-clients/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-clients/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-streams/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-streams/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-tools/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-tools/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-raft/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-raft/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-shell/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-shell/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-api/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-api/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-basic-auth-extension/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-basic-auth-extension/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-json/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-json/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror-client/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror-client/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-runtime/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-runtime/3.8.1/" }, { "Version": 8, - "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-transforms/3.9.0/" + "Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-transforms/3.8.1/" } ], "NamespacesToAvoid": [ diff --git a/src/documentation/articles/docker.md b/src/documentation/articles/docker.md index 0f33f70cc..79c005e6b 100644 --- a/src/documentation/articles/docker.md +++ b/src/documentation/articles/docker.md @@ -1,6 +1,6 @@ --- -title: Docker images of .NET suite for Apache Kafkaâ„¢ -_description: Describes the Docker images of .NET suite for Apache Kafkaâ„¢ +title: Docker images of .NET suite for Apache Kafka™ +_description: Describes the Docker images of .NET suite for Apache Kafka™ --- @@ -11,7 +11,7 @@ _description: Describes the Docker images of .NET suite for Apache Kafkaâ„¢ # KNet: Docker images -.NET suite for Apache Kafkaâ„¢ comes with a ready made Docker image can work in multiple modes, the image name is _knet_: +.NET suite for Apache Kafka™ comes with a ready made Docker image can work in multiple modes, the image name is _knet_: - it is avialble in the following registries: - GitHub: https://github.com/masesgroup/KNet/pkgs/container/knet - Docker Hub: https://hub.docker.com/repository/docker/masesgroup/knet/general @@ -23,9 +23,9 @@ The container image can work in multiple modes based on the environment variable - the Docker image will issue the command: > dotnet /app/MASES.KNetCLI.dll $@ -- The image can run [ZooKeeperâ„¢](https://zookeeper.apache.org/) node and/or [Apache Kafkaâ„¢](https://kafka.apache.org/) broker node using specific values for **KNET_DOCKER_RUNNING_MODE**: +- The image can run [ZooKeeper™](https://zookeeper.apache.org/) node and/or [Apache Kafka™](https://kafka.apache.org/) broker node using specific values for **KNET_DOCKER_RUNNING_MODE**: - - **KNET_DOCKER_RUNNING_MODE**=**zookeeper**: starts a [ZooKeeperâ„¢](https://zookeeper.apache.org/) node, defaults to run a standalone [ZooKeeperâ„¢](https://zookeeper.apache.org/) exposing on port 2181 + - **KNET_DOCKER_RUNNING_MODE**=**zookeeper**: starts a [ZooKeeper™](https://zookeeper.apache.org/) node, defaults to run a standalone [ZooKeeper™](https://zookeeper.apache.org/) exposing on port 2181 - the Docker image will issue the command: > dotnet /app/MASES.KNetCLI.dll zookeeperstart -Log4JConfiguration /app/config_container/log4j.properties /app/config_container/zookeeper.properties - the image can add, or update, configuration variables of zookeeper.properties using the following pattern for environment variables: @@ -34,7 +34,7 @@ The container image can work in multiple modes based on the environment variable - The value of the environment variable is the value will be used in the configuration file - The default file is available at https://github.com/masesgroup/KNet/blob/master/src/container/config_container/zookeeper.properties, all configuration information are available at https://zookeeper.apache.org/doc/r3.8.3/index.html - - **KNET_DOCKER_RUNNING_MODE**=**broker**: starts an [Apache Kafkaâ„¢](https://kafka.apache.org/) broker node, defaults to run a standalone broker exposing on port 9092 + - **KNET_DOCKER_RUNNING_MODE**=**broker**: starts an [Apache Kafka™](https://kafka.apache.org/) broker node, defaults to run a standalone broker exposing on port 9092 - the Docker image will issue the command: > dotnet /app/MASES.KNetCLI.dll kafkastart -Log4JConfiguration /app/config_container/log4j.properties /app/config_container/server.properties - the image can add, or update, configuration variables of server.properties using the following pattern for environment variables: @@ -44,11 +44,11 @@ The container image can work in multiple modes based on the environment variable - As an example: the environment variable **KAFKA_ADVERTISED_LISTENERS** represents **advertised.listeners** - The default file is available at https://github.com/masesgroup/KNet/blob/master/src/container/config_container/server.properties, all configuration information are available at https://kafka.apache.org/documentation/ - - **KNET_DOCKER_RUNNING_MODE**=**server**: starts, within the container, both a [ZooKeeperâ„¢](https://zookeeper.apache.org/) node and an [Apache Kafkaâ„¢](https://kafka.apache.org/) broker node, it defaults to run exposing [ZooKeeperâ„¢](https://zookeeper.apache.org/) on port 2181 and [Apache Kafkaâ„¢](https://kafka.apache.org/) broker on port 9092; the image can add, or update, configuration variables of [ZooKeeperâ„¢](https://zookeeper.apache.org/) and [Apache Kafkaâ„¢](https://kafka.apache.org/) using the same pattern of previous points. + - **KNET_DOCKER_RUNNING_MODE**=**server**: starts, within the container, both a [ZooKeeper™](https://zookeeper.apache.org/) node and an [Apache Kafka™](https://kafka.apache.org/) broker node, it defaults to run exposing [ZooKeeper™](https://zookeeper.apache.org/) on port 2181 and [Apache Kafka™](https://kafka.apache.org/) broker on port 9092; the image can add, or update, configuration variables of [ZooKeeper™](https://zookeeper.apache.org/) and [Apache Kafka™](https://kafka.apache.org/) using the same pattern of previous points. -- The image can run [Apache Kafkaâ„¢](https://kafka.apache.org/) in [KRaft](https://developer.confluent.io/learn/kraft/) mode using specific values for **KNET_DOCKER_RUNNING_MODE**: +- The image can run [Apache Kafka™](https://kafka.apache.org/) in [KRaft](https://developer.confluent.io/learn/kraft/) mode using specific values for **KNET_DOCKER_RUNNING_MODE**: - - **KNET_DOCKER_RUNNING_MODE**=**kraft-broker**: starts a [Apache Kafkaâ„¢](https://kafka.apache.org/) as broker node + - **KNET_DOCKER_RUNNING_MODE**=**kraft-broker**: starts a [Apache Kafka™](https://kafka.apache.org/) as broker node - the Docker image will issue the command: > dotnet /app/MASES.KNetCLI.dll kafkastart -Log4JConfiguration /app/config_container/log4j.properties /app/config_container/kraft/broker.properties - the image can add, or update, configuration variables of broker.properties using the following pattern for environment variables: @@ -57,7 +57,7 @@ The container image can work in multiple modes based on the environment variable - The value of the environment variable is the value will be used in the configuration file - The default file is available at https://github.com/masesgroup/KNet/blob/master/src/container/config_container/kraft/broker.properties, all configuration information are available at https://kafka.apache.org/documentation/ - - **KNET_DOCKER_RUNNING_MODE**=**kraft-controller**: starts a [Apache Kafkaâ„¢](https://kafka.apache.org/) as controller node + - **KNET_DOCKER_RUNNING_MODE**=**kraft-controller**: starts a [Apache Kafka™](https://kafka.apache.org/) as controller node - the Docker image will issue the command: > dotnet /app/MASES.KNetCLI.dll kafkastart -Log4JConfiguration /app/config_container/log4j.properties /app/config_container/kraft/controller.properties - the image can add, or update, configuration variables of controller.properties using the following pattern for environment variables: @@ -66,7 +66,7 @@ The container image can work in multiple modes based on the environment variable - The value of the environment variable is the value will be used in the configuration file - The default file is available at https://github.com/masesgroup/KNet/blob/master/src/container/config_container/kraft/controller.properties, all configuration information are available at https://kafka.apache.org/documentation/ - - **KNET_DOCKER_RUNNING_MODE**=**kraft-server**: starts a [Apache Kafkaâ„¢](https://kafka.apache.org/) as server node + - **KNET_DOCKER_RUNNING_MODE**=**kraft-server**: starts a [Apache Kafka™](https://kafka.apache.org/) as server node - the Docker image will issue the command: > dotnet /app/MASES.KNetCLI.dll kafkastart -Log4JConfiguration /app/config_container/log4j.properties /app/config_container/kraft/server.properties - the image can add, or update, configuration variables of server.properties using the following pattern for environment variables: @@ -95,10 +95,10 @@ The container image can work in multiple modes based on the environment variable > dotnet /app/MASES.KNetConnect.dll -s -Log4JConfiguration /app/config_container/log4j.properties /app/config_container/connect-standalone.properties /app/config_container/connect-knet-specific.properties - the image can add, or update, configuration variables of connect-standalone.properties and connect-knet-specific.properties using the same pattern of **knet-connect-standalone**: - - **KNET_DOCKER_RUNNING_MODE**=**knet-connect-standalone-server**: starts, within the container, a [ZooKeeperâ„¢](https://zookeeper.apache.org/) node and an [Apache Kafkaâ„¢](https://kafka.apache.org/) broker node like in **server**, then starts the same command of **knet-connect-standalone**; this is an autonoumous instance can be used for development or any other possible usage + - **KNET_DOCKER_RUNNING_MODE**=**knet-connect-standalone-server**: starts, within the container, a [ZooKeeper™](https://zookeeper.apache.org/) node and an [Apache Kafka™](https://kafka.apache.org/) broker node like in **server**, then starts the same command of **knet-connect-standalone**; this is an autonoumous instance can be used for development or any other possible usage - the image can add, or update, configuration variables of using the same pattern of **zookeeper**, **broker** and **knet-connect-standalone** - - **KNET_DOCKER_RUNNING_MODE**=**connect-standalone-server**: starts, within the container, a [ZooKeeperâ„¢](https://zookeeper.apache.org/) node and an [Apache Kafkaâ„¢](https://kafka.apache.org/) broker node like in **server**, then starts the same command of **connect-standalone**; this is an autonoumous instance can be used for development or any other possible usage + - **KNET_DOCKER_RUNNING_MODE**=**connect-standalone-server**: starts, within the container, a [ZooKeeper™](https://zookeeper.apache.org/) node and an [Apache Kafka™](https://kafka.apache.org/) broker node like in **server**, then starts the same command of **connect-standalone**; this is an autonoumous instance can be used for development or any other possible usage - the image can add, or update, configuration variables of using the same pattern of **zookeeper**, **broker** and **connect-standalone** - **KNET_DOCKER_RUNNING_MODE**=**knet-connect-distributed**: starts, within the container, a distributed KNet Connect instance diff --git a/src/documentation/articles/intro.md b/src/documentation/articles/intro.md index 63c358884..f2769e5ce 100644 --- a/src/documentation/articles/intro.md +++ b/src/documentation/articles/intro.md @@ -1,11 +1,11 @@ --- -title: .NET suite for Apache Kafkaâ„¢ -_description: Main page of .NET suite for Apache Kafkaâ„¢ +title: .NET suite for Apache Kafka™ +_description: Main page of .NET suite for Apache Kafka™ --- -# KNet: .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.org/) +# KNet: .NET suite for [Apache Kafka™](https://kafka.apache.org/) -KNet is a comprehensive .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.org/) providing access to all [APIs](https://kafka.apache.org/documentation/#api) and features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka™). +KNet is a comprehensive .NET suite for [Apache Kafka™](https://kafka.apache.org/) providing access to all [APIs](https://kafka.apache.org/documentation/#api) and features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka™). ### Libraries and Tools @@ -21,41 +21,38 @@ KNet is a comprehensive .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.or ### Project disclaimer -KNet is a suite for Apache Kafkaâ„¢, curated by MASES Group, can be supported by the open-source community. +KNet is a suite for Apache Kafka™, curated by MASES Group, can be supported by the open-source community. Its primary scope is to support other, public or internal, MASES Group projects: open-source community and commercial entities can use it for their needs and support this project, moreover there are dedicated community and commercial subscription plans. -The repository code and releases may contain bugs, the release cycle depends from Apache Kafkaâ„¢ release cycle, critical discovered issues and/or enhancement requested from this or other projects. +The repository code and releases may contain bugs, the release cycle depends from Apache Kafka™ release cycle, critical discovered issues and/or enhancement requested from this or other projects. -Looking for the help of Apache Kafkaâ„¢ experts? MASES Group can help you design, build, deploy, and manage Apache Kafkaâ„¢ clusters and streaming applications. +Looking for the help of Apache Kafka™ experts? MASES Group can help you design, build, deploy, and manage Apache Kafka™ clusters and streaming applications. --- ## Scope of the project -This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafkaâ„¢ binary distribution](https://kafka.apache.org/downloads). +This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafka™ binary distribution](https://kafka.apache.org/downloads). -There are many client libraries written to manage communication with Apache Kafkaâ„¢. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: +There are many client libraries written to manage communication with Apache Kafka™. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: * all implemented features are availables at no extra implementation costs, see [KNet usage](usage.md); * avoids any third party communication protocol implementation; -* access all features made available from Apache Kafkaâ„¢: the most important are Apache Kafkaâ„¢ Streams and Apache Kafkaâ„¢ Connect which does not have any C# implementation; +* access all features made available from Apache Kafka™: the most important are Apache Kafka™ Streams and Apache Kafka™ Connect which does not have any C# implementation; * measured high [performance](performance.md) in many operating conditions. -Currently the project tries to support, at our best, the [supported Apache Kafkaâ„¢ binary distribution](https://kafka.apache.org/downloads): -- Apache Kafkaâ„¢ version 3.9.*: - - branch [master](https://github.com/masesgroup/KNet) - - KNet version 2.9.* -- Apache Kafkaâ„¢ version 3.8.*: +Currently the project tries to support, at our best, the [supported Apache Kafka™ binary distribution](https://kafka.apache.org/downloads): +- Apache Kafka™ version 3.8.*: - branch [master](https://github.com/masesgroup/KNet) - KNet version 2.8.* -- Apache Kafkaâ„¢ version 3.7.*: +- Apache Kafka™ version 3.7.*: - branch [release/2.7.X](https://github.com/masesgroup/KNet/tree/release/2.7.X) - KNet version 2.7.* -- Apache Kafkaâ„¢ version 3.6.*: +- Apache Kafka™ version 3.6.*: - branch [release/2.6.X](https://github.com/masesgroup/KNet/tree/release/2.6.X) - KNet version 2.6.* -The Apache Kafkaâ„¢ packages are downloaded from: +The Apache Kafka™ packages are downloaded from: |kafka-clients | kafka-streams | kafka-tools | kafka_2.13 | |:---: |:---: |:---: |:---: | diff --git a/src/documentation/index.md b/src/documentation/index.md index d8970b4ec..008d87e5a 100644 --- a/src/documentation/index.md +++ b/src/documentation/index.md @@ -1,11 +1,11 @@ --- -title: .NET suite for Apache Kafkaâ„¢ -_description: Main page of .NET suite for Apache Kafkaâ„¢ +title: .NET suite for Apache Kafka™ +_description: Main page of .NET suite for Apache Kafka™ --- -# KNet: .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.org/) +# KNet: .NET suite for [Apache Kafka™](https://kafka.apache.org/) -KNet is a comprehensive .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.org/) providing access to all [APIs](https://kafka.apache.org/documentation/#api) and features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). +KNet is a comprehensive .NET suite for [Apache Kafka™](https://kafka.apache.org/) providing access to all [APIs](https://kafka.apache.org/documentation/#api) and features: Producer, Consumer, Admin, Streams, Connect, backends (ZooKeeper and Kafka). ### Libraries and Tools @@ -15,38 +15,38 @@ KNet is a comprehensive .NET suite for [Apache Kafkaâ„¢](https://kafka.apache.or ### Project disclaimer -KNet is a suite for Apache Kafkaâ„¢, curated by MASES Group, can be supported by the open-source community. +KNet is a suite for Apache Kafka™, curated by MASES Group, can be supported by the open-source community. Its primary scope is to support other, public or internal, MASES Group projects: open-source community and commercial entities can use it for their needs and support this project, moreover there are dedicated community and commercial subscription plans. -The repository code and releases may contain bugs, the release cycle depends from Apache Kafkaâ„¢ release cycle, critical discovered issues and/or enhancement requested from this or other projects. +The repository code and releases may contain bugs, the release cycle depends from Apache Kafka™ release cycle, critical discovered issues and/or enhancement requested from this or other projects. -Looking for the help of Apache Kafkaâ„¢ experts? MASES Group can help you design, build, deploy, and manage Apache Kafkaâ„¢ clusters and streaming applications. +Looking for the help of Apache Kafka™ experts? MASES Group can help you design, build, deploy, and manage Apache Kafka™ clusters and streaming applications. --- ## Scope of the project -This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafkaâ„¢ binary distribution](https://kafka.apache.org/downloads). +This project aims to create a set of libraries and tools to direct access, from .NET, all the features available in the [Apache Kafka™ binary distribution](https://kafka.apache.org/downloads). -There are many client libraries written to manage communication with Apache Kafkaâ„¢. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: +There are many client libraries written to manage communication with Apache Kafka™. Conversely, this project use directly the Java packages released from The Apache Foundation giving more than one benefit: * all implemented features are availables at no extra implementation costs, see [KNet usage](articles/usage.md); * avoids any third party communication protocol implementation; -* access all features made available from Apache Kafkaâ„¢: the most important are Apache Kafkaâ„¢ Streams and Apache Kafkaâ„¢ Connect which does not have any C# implementation; +* access all features made available from Apache Kafka™: the most important are Apache Kafka™ Streams and Apache Kafka™ Connect which does not have any C# implementation; * measured high [performance](articles/performance.md) in many operating conditions. -Currently the project tries to support, at our best, the [supported Apache Kafkaâ„¢ binary distribution](https://kafka.apache.org/downloads): -- Apache Kafkaâ„¢ version 3.8.*: +Currently the project tries to support, at our best, the [supported Apache Kafka™ binary distribution](https://kafka.apache.org/downloads): +- Apache Kafka™ version 3.8.*: - branch [master](https://github.com/masesgroup/KNet) - KNet version 2.8.* -- Apache Kafkaâ„¢ version 3.7.*: +- Apache Kafka™ version 3.7.*: - branch [release/2.7.X](https://github.com/masesgroup/KNet/tree/release/2.7.X) - KNet version 2.7.* -- Apache Kafkaâ„¢ version 3.6.*: +- Apache Kafka™ version 3.6.*: - branch [release/2.6.X](https://github.com/masesgroup/KNet/tree/release/2.6.X) - KNet version 2.6.* -The Apache Kafkaâ„¢ packages are downloaded from: +The Apache Kafka™ packages are downloaded from: |kafka-clients | kafka-streams | kafka-tools | kafka_2.13 | |:---: |:---: |:---: |:---: | @@ -88,17 +88,17 @@ This project adheres to the Contributor [Covenant code of conduct](https://githu ### News -* V1.4.4+: From version 1.4.4 there is a new project, named KNetPS, which permits to write PowerShell client scripts for an Apache Kafkaâ„¢ cluster and many other things, [here full usage](articles/usagePS.md). -* V1.4.7+: From version 1.4.7 there is a new project, named KNetConnect, to execute Apache Kafkaâ„¢ Connect related jobs, [here full usage](articles/usageConnect.md). +* V1.4.4+: From version 1.4.4 there is a new project, named KNetPS, which permits to write PowerShell client scripts for an Apache Kafka™ cluster and many other things, [here full usage](articles/usagePS.md). +* V1.4.7+: From version 1.4.7 there is a new project, named KNetConnect, to execute Apache Kafka™ Connect related jobs, [here full usage](articles/usageConnect.md). * V1.5.4+: From version 1.5.4 there are new packages dedicated to [KNet Serializer/Deserializer](articles/usageSerDes.md) -* V2.0.0+: From version 2.0.0 the code base is fully reflected from the JARs of the Apache Kafkaâ„¢ distribution downloaded from Maven; some developed classes still remains beside the specific KNet implementations +* V2.0.0+: From version 2.0.0 the code base is fully reflected from the JARs of the Apache Kafka™ distribution downloaded from Maven; some developed classes still remains beside the specific KNet implementations * V2.4.0+: From version 2.4.0 it is available the new KNet Streams SDK * V2.5.0+: From version 2.5.0 there are two breaking changes: uses `Java.Lang.String` instead of `string` (`System.String`) in generated classes and KNet Streams SDK manages the counter-part JVM types * V2.7.0+: From version 2.7.0: * all classes KNetProducer, KNetConsumer and KNet Streams SDK manage the counter-part JVM types * serializers supports data exchange based on `byte` array and `ByteBuffer` * version 2.7.2 introduces `ISerDesSelector` to optimize serialization selection based on `byte` array or `ByteBuffer` -* V2.8.0+: From version 2.8.0: supports Apache Kafkaâ„¢ version 3.8.* +* V2.8.0+: From version 2.8.0: supports Apache Kafka™ version 3.8.* --- @@ -109,9 +109,9 @@ KNet uses [JNet](https://github.com/masesgroup/JNet), and indeed [JCOBridge](htt * [JVM](https://en.wikipedia.org/wiki/Java_virtual_machine) and [CLR, or CoreCLR,](https://en.wikipedia.org/wiki/Common_Language_Runtime) runs in the same process, but are insulated from each other; * JCOBridge does not make any code injection into JVM; * JCOBridge does not use any other communication mechanism than JNI; - * .NET (CLR) inherently inherits the cyber-security levels of running JVM and Apache Kafkaâ„¢; + * .NET (CLR) inherently inherits the cyber-security levels of running JVM and Apache Kafka™; * **Direct access the JVM from any .NET application**: - * Any Java/Scala class behind Apache Kafkaâ„¢ can be directly managed: Consumer, Producer, Administration, Streams, Server-side, and so on; + * Any Java/Scala class behind Apache Kafka™ can be directly managed: Consumer, Producer, Administration, Streams, Server-side, and so on; * No need to learn new APIs: we try to expose the same APIs in C# style; * No extra validation cycle on protocol and functionality: bug fix, improvements, new features are immediately available; * Documentation is shared; diff --git a/src/jvm/knet/pom.xml b/src/jvm/knet/pom.xml index dcc804ee4..386ee7ffb 100644 --- a/src/jvm/knet/pom.xml +++ b/src/jvm/knet/pom.xml @@ -40,7 +40,7 @@ 11 11 ${basedir}/classpathfile.classpath - 3.9.0 + 3.8.1 2.8.2.0 ../../../bin/net8.0/JCOBridge.jar ../../../bin/net8.0/jars/jnet-2.5.10.0.jar