public class KafkaSimulator
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private org.apache.kafka.clients.admin.AdminClient |
adminClient
Client d'administration KAFKA embarqué
|
private java.util.Map<java.lang.String,java.lang.String> |
brokerProperties
MAP des propriétés communes des instances de brokers
|
private java.util.Set<java.lang.String> |
createdTopics
Ensemble de noms de topics creees
|
private static int |
DEFAULT_ADMIN_TIMEOUT
Timeout du client d'administration
|
private java.lang.String |
DEFAULT_HOSTS
Hote par defaut
|
private org.springframework.kafka.core.KafkaAdmin |
kafkaAdmin
Simulateur Administration Kafka
|
private java.util.List<kafka.server.KafkaServer> |
kafkaServers
Liste de serveurs KAFKA
|
private org.springframework.kafka.core.KafkaTemplate<java.lang.String,java.lang.String> |
kafkaStringProducerTemplate
Template de production KAFKA (chaine de caractere)
|
private java.io.File |
keystoreLocation
Chemin vers le magasin de clés
|
private SimulatorProperties |
simulatorProperties
Proprietes de configuration du simulateur
|
private java.io.File |
temporairyDir
Répertoire temporaire de stockage
|
private java.io.File |
truststoreLocation
Chemin vers le magasin de clés de confiance
|
private kafka.zk.EmbeddedZookeeper |
zookeeper
Serveur embarqué ZooKeeper
|
private static int |
ZOOKEEPER_CONNEXION_TIMEOUT
Timeout de connexion à ZooKeeper
|
private static int |
ZOOKEEPER_SESSION_TIMEOUT
Timeout de session à ZooKeeper
|
private org.I0Itec.zkclient.ZkClient |
zookeeperClient
Client Zookepper
|
private java.lang.String |
zookeeperConnexionUrl
Chaine de connexion à Zookeeper
|
| Constructor and Description |
|---|
KafkaSimulator() |
| Modifier and Type | Method and Description |
|---|---|
private java.util.Properties |
createBrokerProperties(int brokerId,
BrokerProperties brokerConfig)
Méthode permettant d'initialiser les propriétés communes des brokers
|
private void |
createTopics(org.apache.kafka.clients.admin.AdminClient admin,
java.util.List<org.apache.kafka.clients.admin.NewTopic> newTopics)
Méthode permettant de créer une liste de topics
|
void |
createTopics(java.lang.String... topicsNames)
Méthode permettant de créer une liste de topics à partir de leur noms
|
void |
deleteTopics(java.util.List<java.lang.String> topicsNames)
Méthode permettant de supprimer les topics
|
void |
deleteTopics(java.lang.String... topicsNames)
Méthode permettant de supprimer une liste de noms de topics
|
void |
destroy()
Méthode permettant de détruire le simulateur KAFKA
|
private void |
doWithAdmin(java.util.function.Consumer<org.apache.kafka.clients.admin.AdminClient> callback)
Méthode permettant d'exécuter ine action sur le broker en mode Admin
|
private int |
findAdminPort(BrokerProperties brokerProperties,
int... excluded)
Methode de recherche du port d'administration du broker
|
private int |
findInternalProducerPort(BrokerProperties brokerProperties,
int... excluded)
Methode de recherche du port du producteur interne du broker
|
private java.lang.String |
getAdminBrokersUrls()
Méthode permettant d'obtenir l'ensemble des URL d'administration des Brokers
|
java.lang.String |
getInternalProducerBrokersUrls()
Méthode permettant d'obtenir l'ensemble des URL de producteur interne des Brokers
|
private java.lang.String |
getListenerAdminUrl(ListenerProperties listener)
Méthode permettant d'obtenir l'URL d'administration du Broker sous forme de chaine de caracteres
|
private java.lang.String |
getListenerAllUrls(ListenerProperties listener)
Méthode permettant d'obtenir l'ensemble des URL du listener du Broker sous forme de chaine de caracteres
|
private java.lang.String |
getListenerInternalProducerUrl(ListenerProperties listener)
Méthode permettant d'obtenir l'URL du consomateur interne du Broker sous forme de chaine de caracteres
|
private java.lang.String |
getListenerProtocolMap(SimulatorProperties simulatorProperties)
Méthode permettant d'obtenir la chaine de correspodances entre noms de protocole et protocole
|
private java.lang.String |
getListenerPublicUrl(ListenerProperties listener)
Méthode permettant d'obtenir l'URL publique du Broker sous forme de chaine de caracteres
|
void |
initialize()
Méthode permettant d'initialiser le simulateur KAFKA
|
private void |
initializeBrokers()
Méthode permettant d'initialiser les brokers
|
private void |
initializeProducers()
Méthode permettant d'initialiser les producteurs de messages
|
private void |
initializeTopics()
Méthode permettant d'initialiser les topics
|
private void |
initializeZookeeper()
Méthode permettant d'initialiser les composants zookeeper embarque
|
private void |
internalCreateTopics(java.util.List<java.lang.String> topicsNames)
Méthode interne permettant de créer une liste de topics à partir de leur noms
|
java.util.List<ConsumerGroup> |
listConsumerGroup()
Méthode permettant de lister les groupes de consommateurs
|
java.util.List<ConsumerGroupOffset> |
listConsumerGroupOffsets(java.lang.String groupId)
Méthode permettant de lister les offsets d'un groupes de consommateurs
|
java.util.List<Topic> |
listTopics()
Méthode permettant de lister les topics
|
java.util.List<Topic> |
listTopics(boolean internal)
Méthode permettant de lister les topics
|
void |
sendMessage(java.lang.String topic,
java.lang.String message)
Méthode permettant d'envoyer un message via le simulateur KAFKA
|
void |
sendMessage(java.lang.String topic,
java.lang.String key,
java.lang.String message)
Méthode permettant d'envoyer un message via le simulateur KAFKA
|
private java.lang.String DEFAULT_HOSTS
private static final int ZOOKEEPER_CONNEXION_TIMEOUT
private static final int ZOOKEEPER_SESSION_TIMEOUT
private static final int DEFAULT_ADMIN_TIMEOUT
private final SimulatorProperties simulatorProperties
private java.util.Map<java.lang.String,java.lang.String> brokerProperties
private final java.util.List<kafka.server.KafkaServer> kafkaServers
private kafka.zk.EmbeddedZookeeper zookeeper
private java.lang.String zookeeperConnexionUrl
private org.I0Itec.zkclient.ZkClient zookeeperClient
private org.springframework.kafka.core.KafkaAdmin kafkaAdmin
private org.apache.kafka.clients.admin.AdminClient adminClient
private org.springframework.kafka.core.KafkaTemplate<java.lang.String,java.lang.String> kafkaStringProducerTemplate
private java.io.File temporairyDir
private java.io.File truststoreLocation
private java.io.File keystoreLocation
private java.util.Set<java.lang.String> createdTopics
@PostConstruct public void initialize()
private void initializeZookeeper()
private void initializeBrokers()
private int findInternalProducerPort(BrokerProperties brokerProperties, int... excluded)
brokerProperties - Proprietes du Brokerexcluded - Ports à exclure de la rechercheprivate int findAdminPort(BrokerProperties brokerProperties, int... excluded)
brokerProperties - Proprietes du Brokerexcluded - Ports à exclure de la rechercheprivate java.util.Properties createBrokerProperties(int brokerId,
BrokerProperties brokerConfig)
brokerId - ID du broker (On utilisera son numéro d'ordre dans la liste de configuration)brokerConfig - current broker configurationprivate void initializeTopics()
private void initializeProducers()
private void doWithAdmin(java.util.function.Consumer<org.apache.kafka.clients.admin.AdminClient> callback)
callback - Callback de l'actionprivate java.lang.String getListenerProtocolMap(SimulatorProperties simulatorProperties)
simulatorProperties - Proprietes du simulateurprivate java.lang.String getAdminBrokersUrls()
public java.lang.String getInternalProducerBrokersUrls()
private java.lang.String getListenerAllUrls(ListenerProperties listener)
listener - Proprietes du listener sourceprivate java.lang.String getListenerPublicUrl(ListenerProperties listener)
listener - Proprietes du listener sourceprivate java.lang.String getListenerAdminUrl(ListenerProperties listener)
listener - Proprietes du listener sourceprivate java.lang.String getListenerInternalProducerUrl(ListenerProperties listener)
listener - Proprietes du listener sourceprivate void internalCreateTopics(java.util.List<java.lang.String> topicsNames)
topicsNames - Liste des noms de topicsprivate void createTopics(org.apache.kafka.clients.admin.AdminClient admin,
java.util.List<org.apache.kafka.clients.admin.NewTopic> newTopics)
admin - Client d'administrationnewTopics - Liste de topics a creerpublic void createTopics(java.lang.String... topicsNames)
topicsNames - Tableau de noms de topicspublic java.util.List<Topic> listTopics()
public java.util.List<Topic> listTopics(boolean internal)
internal - Etat interne ou non du topicpublic void deleteTopics(java.util.List<java.lang.String> topicsNames)
topicsNames - Liste des noms des topics a supprimerpublic void deleteTopics(java.lang.String... topicsNames)
topicsNames - Liste de noms de topicspublic java.util.List<ConsumerGroup> listConsumerGroup()
public java.util.List<ConsumerGroupOffset> listConsumerGroupOffsets(java.lang.String groupId)
groupId - ID du groupe de consommateurspublic void sendMessage(java.lang.String topic,
java.lang.String key,
java.lang.String message)
topic - Topic d'envoikey - Clé du messagemessage - Contenu du messagepublic void sendMessage(java.lang.String topic,
java.lang.String message)
topic - Topic d'envoimessage - Contenu du message@PreDestroy public void destroy()
Copyright © 2019 Leadware. All Rights Reserved.