@InterfaceStability.Evolving public abstract class AdminClient extends java.lang.Object implements java.lang.AutoCloseable
InterfaceStability
annotation and this notice once the API is considered stable.Constructor and Description |
---|
AdminClient() |
Modifier and Type | Method and Description |
---|---|
AlterConfigsResult |
alterConfigs(java.util.Map<ConfigResource,Config> configs)
Update the configuration for the specified resources with the default options.
|
abstract AlterConfigsResult |
alterConfigs(java.util.Map<ConfigResource,Config> configs,
AlterConfigsOptions options)
Update the configuration for the specified resources with the default options.
|
AlterReplicaLogDirsResult |
alterReplicaLogDirs(java.util.Map<TopicPartitionReplica,java.lang.String> replicaAssignment)
Change the log directory for the specified replicas.
|
abstract AlterReplicaLogDirsResult |
alterReplicaLogDirs(java.util.Map<TopicPartitionReplica,java.lang.String> replicaAssignment,
AlterReplicaLogDirsOptions options)
Change the log directory for the specified replicas.
|
void |
close()
Close the AdminClient and release all associated resources.
|
abstract void |
close(long duration,
java.util.concurrent.TimeUnit unit)
Close the AdminClient and release all associated resources.
|
static AdminClient |
create(java.util.Map<java.lang.String,java.lang.Object> conf)
Create a new AdminClient with the given configuration.
|
static AdminClient |
create(java.util.Properties props)
Create a new AdminClient with the given configuration.
|
CreateAclsResult |
createAcls(java.util.Collection<AclBinding> acls)
This is a convenience method for #
createAcls(Collection, CreateAclsOptions) with
default options. |
abstract CreateAclsResult |
createAcls(java.util.Collection<AclBinding> acls,
CreateAclsOptions options)
Creates access control lists (ACLs) which are bound to specific resources.
|
CreatePartitionsResult |
createPartitions(java.util.Map<java.lang.String,NewPartitions> newPartitions)
Increase the number of partitions of the topics given as the keys of
newPartitions
according to the corresponding values. |
abstract CreatePartitionsResult |
createPartitions(java.util.Map<java.lang.String,NewPartitions> newPartitions,
CreatePartitionsOptions options)
Increase the number of partitions of the topics given as the keys of
newPartitions
according to the corresponding values. |
CreateTopicsResult |
createTopics(java.util.Collection<NewTopic> newTopics)
Create a batch of new topics with the default options.
|
abstract CreateTopicsResult |
createTopics(java.util.Collection<NewTopic> newTopics,
CreateTopicsOptions options)
Create a batch of new topics.
|
DeleteAclsResult |
deleteAcls(java.util.Collection<AclBindingFilter> filters)
This is a convenience method for #
deleteAcls(Collection, DeleteAclsOptions) with default options. |
abstract DeleteAclsResult |
deleteAcls(java.util.Collection<AclBindingFilter> filters,
DeleteAclsOptions options)
Deletes access control lists (ACLs) according to the supplied filters.
|
DeleteTopicsResult |
deleteTopics(java.util.Collection<java.lang.String> topics)
This is a convenience method for #
deleteTopics(Collection, DeleteTopicsOptions)
with default options. |
abstract DeleteTopicsResult |
deleteTopics(java.util.Collection<java.lang.String> topics,
DeleteTopicsOptions options)
Delete a batch of topics.
|
DescribeAclsResult |
describeAcls(AclBindingFilter filter)
This is a convenience method for #
describeAcls(AclBindingFilter, DescribeAclsOptions) with
default options. |
abstract DescribeAclsResult |
describeAcls(AclBindingFilter filter,
DescribeAclsOptions options)
Lists access control lists (ACLs) according to the supplied filter.
|
DescribeClusterResult |
describeCluster()
Get information about the nodes in the cluster, using the default options.
|
abstract DescribeClusterResult |
describeCluster(DescribeClusterOptions options)
Get information about the nodes in the cluster.
|
DescribeConfigsResult |
describeConfigs(java.util.Collection<ConfigResource> resources)
Get the configuration for the specified resources with the default options.
|
abstract DescribeConfigsResult |
describeConfigs(java.util.Collection<ConfigResource> resources,
DescribeConfigsOptions options)
Get the configuration for the specified resources.
|
DescribeLogDirsResult |
describeLogDirs(java.util.Collection<java.lang.Integer> brokers)
Query the information of all log directories on the given set of brokers
This is a convenience method for #
describeLogDirs(Collection, DescribeLogDirsOptions) with default options. |
abstract DescribeLogDirsResult |
describeLogDirs(java.util.Collection<java.lang.Integer> brokers,
DescribeLogDirsOptions options)
Query the information of all log directories on the given set of brokers
This operation is supported by brokers with version 1.0.0 or higher.
|
DescribeReplicaLogDirsResult |
describeReplicaLogDirs(java.util.Collection<TopicPartitionReplica> replicas)
Query the replica log directory information for the specified replicas.
|
abstract DescribeReplicaLogDirsResult |
describeReplicaLogDirs(java.util.Collection<TopicPartitionReplica> replicas,
DescribeReplicaLogDirsOptions options)
Query the replica log directory information for the specified replicas.
|
DescribeTopicsResult |
describeTopics(java.util.Collection<java.lang.String> topicNames)
Describe some topics in the cluster, with the default options.
|
abstract DescribeTopicsResult |
describeTopics(java.util.Collection<java.lang.String> topicNames,
DescribeTopicsOptions options)
Describe some topics in the cluster.
|
ListTopicsResult |
listTopics()
List the topics available in the cluster with the default options.
|
abstract ListTopicsResult |
listTopics(ListTopicsOptions options)
List the topics available in the cluster.
|
public static AdminClient create(java.util.Properties props)
props
- The configuration.public static AdminClient create(java.util.Map<java.lang.String,java.lang.Object> conf)
conf
- The configuration.public void close()
close(long, TimeUnit)
close
in interface java.lang.AutoCloseable
public abstract void close(long duration, java.util.concurrent.TimeUnit unit)
duration
- The duration to use for the wait time.unit
- The time unit to use for the wait time.public CreateTopicsResult createTopics(java.util.Collection<NewTopic> newTopics)
createTopics(Collection, CreateTopicsOptions)
with default options.
See the overload for more details.
This operation is supported by brokers with version 0.10.1.0 or higher.newTopics
- The new topics to create.public abstract CreateTopicsResult createTopics(java.util.Collection<NewTopic> newTopics, CreateTopicsOptions options)
CreateTopicsResult
returns
success for all the brokers to become aware that the topics have been created.
During this time, listTopics()
and describeTopics(Collection)
may not return information about the new topics.
This operation is supported by brokers with version 0.10.1.0 or higher. The validateOnly option is supported
from version 0.10.2.0.newTopics
- The new topics to create.options
- The options to use when creating the new topics.public DeleteTopicsResult deleteTopics(java.util.Collection<java.lang.String> topics)
deleteTopics(Collection, DeleteTopicsOptions)
with default options. See the overload for more details.
This operation is supported by brokers with version 0.10.1.0 or higher.topics
- The topic names to delete.public abstract DeleteTopicsResult deleteTopics(java.util.Collection<java.lang.String> topics, DeleteTopicsOptions options)
DeleteTopicsResult
returns
success for all the brokers to become aware that the topics are gone.
During this time, AdminClient#listTopics and AdminClient#describeTopics
may continue to return information about the deleted topics.
If delete.topic.enable is false on the brokers, deleteTopics will mark
the topics for deletion, but not actually delete them. The futures will
return successfully in this case.
This operation is supported by brokers with version 0.10.1.0 or higher.topics
- The topic names to delete.options
- The options to use when deleting the topics.public ListTopicsResult listTopics()
listTopics(ListTopicsOptions)
with default options.
See the overload for more details.public abstract ListTopicsResult listTopics(ListTopicsOptions options)
options
- The options to use when listing the topics.public DescribeTopicsResult describeTopics(java.util.Collection<java.lang.String> topicNames)
describeTopics(Collection, DescribeTopicsOptions)
with
default options. See the overload for more details.topicNames
- The names of the topics to describe.public abstract DescribeTopicsResult describeTopics(java.util.Collection<java.lang.String> topicNames, DescribeTopicsOptions options)
topicNames
- The names of the topics to describe.options
- The options to use when describing the topic.public DescribeClusterResult describeCluster()
describeCluster(DescribeClusterOptions)
with default options.
See the overload for more details.public abstract DescribeClusterResult describeCluster(DescribeClusterOptions options)
options
- The options to use when getting information about the cluster.public DescribeAclsResult describeAcls(AclBindingFilter filter)
describeAcls(AclBindingFilter, DescribeAclsOptions)
with
default options. See the overload for more details.
This operation is supported by brokers with version 0.11.0.0 or higher.filter
- The filter to use.public abstract DescribeAclsResult describeAcls(AclBindingFilter filter, DescribeAclsOptions options)
filter
- The filter to use.options
- The options to use when listing the ACLs.public CreateAclsResult createAcls(java.util.Collection<AclBinding> acls)
createAcls(Collection, CreateAclsOptions)
with
default options. See the overload for more details.
This operation is supported by brokers with version 0.11.0.0 or higher.acls
- The ACLs to createpublic abstract CreateAclsResult createAcls(java.util.Collection<AclBinding> acls, CreateAclsOptions options)
acls
- The ACLs to createoptions
- The options to use when creating the ACLs.public DeleteAclsResult deleteAcls(java.util.Collection<AclBindingFilter> filters)
deleteAcls(Collection, DeleteAclsOptions)
with default options.
See the overload for more details.
This operation is supported by brokers with version 0.11.0.0 or higher.filters
- The filters to use.public abstract DeleteAclsResult deleteAcls(java.util.Collection<AclBindingFilter> filters, DeleteAclsOptions options)
filters
- The filters to use.options
- The options to use when deleting the ACLs.public DescribeConfigsResult describeConfigs(java.util.Collection<ConfigResource> resources)
describeConfigs(Collection, DescribeConfigsOptions)
with default options.
See the overload for more details.
This operation is supported by brokers with version 0.11.0.0 or higher.resources
- The resources (topic and broker resource types are currently supported)public abstract DescribeConfigsResult describeConfigs(java.util.Collection<ConfigResource> resources, DescribeConfigsOptions options)
null
so that sensitive information
is not disclosed.
Config entries where isReadOnly() is true cannot be updated.
This operation is supported by brokers with version 0.11.0.0 or higher.resources
- The resources (topic and broker resource types are currently supported)options
- The options to use when describing configspublic AlterConfigsResult alterConfigs(java.util.Map<ConfigResource,Config> configs)
alterConfigs(Map, AlterConfigsOptions)
with default options.
See the overload for more details.
This operation is supported by brokers with version 0.11.0.0 or higher.configs
- The resources with their configs (topic is the only resource type with configs that can
be updated currently)public abstract AlterConfigsResult alterConfigs(java.util.Map<ConfigResource,Config> configs, AlterConfigsOptions options)
configs
- The resources with their configs (topic is the only resource type with configs that can
be updated currently)options
- The options to use when describing configspublic AlterReplicaLogDirsResult alterReplicaLogDirs(java.util.Map<TopicPartitionReplica,java.lang.String> replicaAssignment)
alterReplicaLogDirs(Map, AlterReplicaLogDirsOptions)
with default options.
See the overload for more details.
This operation is supported by brokers with version 1.0.0 or higher.replicaAssignment
- The replicas with their log directory absolute pathpublic abstract AlterReplicaLogDirsResult alterReplicaLogDirs(java.util.Map<TopicPartitionReplica,java.lang.String> replicaAssignment, AlterReplicaLogDirsOptions options)
replicaAssignment
- The replicas with their log directory absolute pathoptions
- The options to use when changing replica dirpublic DescribeLogDirsResult describeLogDirs(java.util.Collection<java.lang.Integer> brokers)
describeLogDirs(Collection, DescribeLogDirsOptions)
with default options.
See the overload for more details.
This operation is supported by brokers with version 1.0.0 or higher.brokers
- A list of brokerspublic abstract DescribeLogDirsResult describeLogDirs(java.util.Collection<java.lang.Integer> brokers, DescribeLogDirsOptions options)
brokers
- A list of brokersoptions
- The options to use when querying log dir infopublic DescribeReplicaLogDirsResult describeReplicaLogDirs(java.util.Collection<TopicPartitionReplica> replicas)
describeReplicaLogDirs(Collection, DescribeReplicaLogDirsOptions)
with default options. See the overload for more details.
This operation is supported by brokers with version 1.0.0 or higher.replicas
- The replicas to querypublic abstract DescribeReplicaLogDirsResult describeReplicaLogDirs(java.util.Collection<TopicPartitionReplica> replicas, DescribeReplicaLogDirsOptions options)
replicas
- The replicas to queryoptions
- The options to use when querying replica log dir infopublic CreatePartitionsResult createPartitions(java.util.Map<java.lang.String,NewPartitions> newPartitions)
Increase the number of partitions of the topics given as the keys of newPartitions
according to the corresponding values. If partitions are increased for a topic that has a key,
the partition logic or ordering of the messages will be affected.
This is a convenience method for createPartitions(Map, CreatePartitionsOptions)
with default options.
See the overload for more details.
newPartitions
- The topics which should have new partitions created, and corresponding parameters
for the created partitions.public abstract CreatePartitionsResult createPartitions(java.util.Map<java.lang.String,NewPartitions> newPartitions, CreatePartitionsOptions options)
Increase the number of partitions of the topics given as the keys of newPartitions
according to the corresponding values. If partitions are increased for a topic that has a key,
the partition logic or ordering of the messages will be affected.
This operation is not transactional so it may succeed for some topics while fail for others.
It may take several seconds after this method returns
success for all the brokers to become aware that the partitions have been created.
During this time, describeTopics(Collection)
may not return information about the new partitions.
This operation is supported by brokers with version 1.0.0 or higher.
The following exceptions can be anticipated when calling get()
on the futures obtained from the
values()
method of the returned CreatePartitionsResult
AuthorizationException
if the authenticated user is not authorized to alter the topicTimeoutException
if the request was not completed in within the given AbstractOptions.timeoutMs()
.ReassignmentInProgressException
if a partition reassignment is currently in progressBrokerNotAvailableException
if the requested NewPartitions.assignments()
contain a broker that is currently unavailable.InvalidReplicationFactorException
if no NewPartitions.assignments()
are given and it is impossible for the broker to assign
replicas with the topics replication factor.KafkaException
if the request is invalid in some way.newPartitions
- The topics which should have new partitions created, and corresponding parameters
for the created partitions.options
- The options to use when creating the new paritions.