Class BrokersClusterService
- java.lang.Object
-
- pl.allegro.tech.hermes.management.infrastructure.kafka.service.BrokersClusterService
-
public class BrokersClusterService extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description BrokersClusterService(java.lang.String clusterName, SingleMessageReader singleMessageReader, RetransmissionService retransmissionService, BrokerTopicManagement brokerTopicManagement, pl.allegro.tech.hermes.common.kafka.KafkaNamesMapper kafkaNamesMapper, OffsetsAvailableChecker offsetsAvailableChecker, LogEndOffsetChecker logEndOffsetChecker, org.apache.kafka.clients.admin.AdminClient adminClient, ConsumerGroupManager consumerGroupManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallSubscriptionsHaveConsumersAssigned(pl.allegro.tech.hermes.api.Topic topic, java.util.List<pl.allegro.tech.hermes.api.Subscription> subscriptions)booleanareOffsetsAvailableOnAllKafkaTopics(pl.allegro.tech.hermes.api.Topic topic)booleanareOffsetsMoved(pl.allegro.tech.hermes.api.Topic topic, java.lang.String subscriptionName)voidcreateConsumerGroup(pl.allegro.tech.hermes.api.Topic topic, pl.allegro.tech.hermes.api.Subscription subscription)java.util.Optional<pl.allegro.tech.hermes.api.ConsumerGroup>describeConsumerGroup(pl.allegro.tech.hermes.api.Topic topic, java.lang.String subscriptionName)java.lang.StringgetClusterName()java.util.List<pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset>indicateOffsetChange(pl.allegro.tech.hermes.api.Topic topic, java.lang.String subscriptionName, java.lang.Long timestamp, boolean dryRun)java.util.List<java.lang.String>listTopicsFromCluster()voidmanageTopic(java.util.function.Consumer<BrokerTopicManagement> manageFunction)java.lang.StringreadMessageFromPrimary(pl.allegro.tech.hermes.api.Topic topic, java.lang.Integer partition, java.lang.Long offset)voidremoveTopicByName(java.lang.String topicName)booleantopicExists(pl.allegro.tech.hermes.api.Topic topic)
-
-
-
Constructor Detail
-
BrokersClusterService
public BrokersClusterService(java.lang.String clusterName, SingleMessageReader singleMessageReader, RetransmissionService retransmissionService, BrokerTopicManagement brokerTopicManagement, pl.allegro.tech.hermes.common.kafka.KafkaNamesMapper kafkaNamesMapper, OffsetsAvailableChecker offsetsAvailableChecker, LogEndOffsetChecker logEndOffsetChecker, org.apache.kafka.clients.admin.AdminClient adminClient, ConsumerGroupManager consumerGroupManager)
-
-
Method Detail
-
getClusterName
public java.lang.String getClusterName()
-
manageTopic
public void manageTopic(java.util.function.Consumer<BrokerTopicManagement> manageFunction)
-
readMessageFromPrimary
public java.lang.String readMessageFromPrimary(pl.allegro.tech.hermes.api.Topic topic, java.lang.Integer partition, java.lang.Long offset)
-
indicateOffsetChange
public java.util.List<pl.allegro.tech.hermes.common.kafka.offset.PartitionOffset> indicateOffsetChange(pl.allegro.tech.hermes.api.Topic topic, java.lang.String subscriptionName, java.lang.Long timestamp, boolean dryRun)
-
areOffsetsAvailableOnAllKafkaTopics
public boolean areOffsetsAvailableOnAllKafkaTopics(pl.allegro.tech.hermes.api.Topic topic)
-
topicExists
public boolean topicExists(pl.allegro.tech.hermes.api.Topic topic)
-
listTopicsFromCluster
public java.util.List<java.lang.String> listTopicsFromCluster()
-
removeTopicByName
public void removeTopicByName(java.lang.String topicName)
-
areOffsetsMoved
public boolean areOffsetsMoved(pl.allegro.tech.hermes.api.Topic topic, java.lang.String subscriptionName)
-
allSubscriptionsHaveConsumersAssigned
public boolean allSubscriptionsHaveConsumersAssigned(pl.allegro.tech.hermes.api.Topic topic, java.util.List<pl.allegro.tech.hermes.api.Subscription> subscriptions)
-
createConsumerGroup
public void createConsumerGroup(pl.allegro.tech.hermes.api.Topic topic, pl.allegro.tech.hermes.api.Subscription subscription)
-
describeConsumerGroup
public java.util.Optional<pl.allegro.tech.hermes.api.ConsumerGroup> describeConsumerGroup(pl.allegro.tech.hermes.api.Topic topic, java.lang.String subscriptionName)
-
-