Utilisation du client Java Kafka
L'exemple d'API Java™ Kafka est un exemple de producteur et de consommateur écrit en Java, qui utilise directement l'API Kafka. Cet exemple peut être exécuté en local ou dans IBM Cloud®.
Pour des performances optimales avec le client Java, il est recommandé d'utiliser la version 2.6.0ou ultérieure. Pour plus d'informations, voir les restrictions connues concernant les appels Java Kafka.
L'exemple de code se trouve dans le projet event-streams-samples GitHub. Bien qu'il utilise l'API Kafka pour envoyer et recevoir des messages, il utilise l'API d'administration de Event Streams pour créer la rubrique à laquelle il en envoie et dont il en reçoit.
Pour plus d'informations sur la configuration et l'exécution de l'exemple, voir README.md.
Pour la procédure détaillée de l'exécution de l'exemple, voir Initiation à Event Streams.
Comment utiliser, télécharger et exécuter l'exemple Liberty for Java
L'exemple IBM® Liberty for Java™ for IBM Cloud® implémente une application simple qui est déployée dans l'environnement d'exécution Liberty. L'application utilise l'API Kafka pour Event Streams afin de produire et de consommer des messages. Elle sert également un système frontal Web que vous pouvez utiliser pour l'administration.
Vous trouverez l'exemple de code dans le GitHub event-streams-samples.
Utilisation de la propriété sasl.jaas.config
Si vous utilisez un client Kafka à la version 0.10.2.1 ou ultérieure, vous pouvez utiliser la propriété sasl.jaas.config pour la configuration du client à la place d'un fichier JAAS. Pour vous connecter à Event Streams, définissez
sasl.jaas.config comme dans l'exemple suivant:
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="USERNAME" \
password="PASSWORD";</code>
USERNAME et PASSWORD sont les valeurs de votre onglet Event Streams Données d'identification du service dans IBM Cloud.
Si vous utilisez sasl.jaas.config, les clients qui s'exécutent dans la même machine virtuelle Java peuvent utiliser des données d'identification différentes. Pour plus d'informations, voir Configuration des clients Kafka.
Dans le cas d'un client Kafka antérieur, vous devez utiliser un fichier de configuration JAAS pour spécifier les données d'identification. Ce mécanisme est moins pratique, par conséquent, utilisez la propriété sasl.jaas.config à
la place.
Migration d'un client Kafka à partir de la version 0.9.X ou 0.10.X vers des versions client ultérieures
Si vous utilisez les clients Java, vous pouvez utiliser les clients Kafka version 0.10 ou ultérieure disponibles publiquement.
Il est recommandé de passer de la version 0.9.X vers la version la plus récente. Vous pouvez télécharger un client Kafka depuis https://kafka.apache.org/downloads.
Migration d'un client Kafka vers la version 0.10.2.X ou versions ultérieures
A partir de la version 0.10.2, vous pouvez configurer l'authentification SASL directement dans les propriétés du client au lieu d'utiliser un fichier JAAS. Cette simplification vous permet d'exécuter plusieurs clients dans la même machine virtuelle Java en utilisant des ensembles de données d'identification différents, ce qui n'est pas possible avec un fichier JAAS.
Procédez comme suit :
-
Supprimez le fichier JAAS. La propriété JVM
java.security.auth.login.config=<PATH TO JAAS>n'est plus non plus requise. -
Ajoutez les éléments suivants aux propriétés du client :
sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USERNAME" password="PASSWORD";USERNAMEetPASSWORDsont les valeurs de votre onglet Event Streams Données d'identification du service dans IBM Cloud.