blob: 39461c2e6be70a7c4b759072c78c4685c10825ad [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ConsumerPartitionAssignor (kafka 3.0.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.kafka.clients.consumer, interface: ConsumerPartitionAssignor">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var data = {"i0":6,"i1":1,"i2":6,"i3":18,"i4":18,"i5":18,"i6":18};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "alt-color";
var rowColor = "row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar.top.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.kafka.clients.consumer</a></div>
<h1 title="Interface ConsumerPartitionAssignor" class="title">Interface ConsumerPartitionAssignor</h1>
</div>
<section class="description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code>org.apache.kafka.clients.consumer.internals.AbstractPartitionAssignor</code>, <code>org.apache.kafka.clients.consumer.internals.AbstractStickyAssignor</code>, <code><a href="CooperativeStickyAssignor.html" title="class in org.apache.kafka.clients.consumer">CooperativeStickyAssignor</a></code>, <code><a href="RangeAssignor.html" title="class in org.apache.kafka.clients.consumer">RangeAssignor</a></code>, <code><a href="RoundRobinAssignor.html" title="class in org.apache.kafka.clients.consumer">RoundRobinAssignor</a></code>, <code><a href="StickyAssignor.html" title="class in org.apache.kafka.clients.consumer">StickyAssignor</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="type-name-label">ConsumerPartitionAssignor</span></pre>
<div class="block">This interface is used to define custom partition assignment for use in
<a href="KafkaConsumer.html" title="class in org.apache.kafka.clients.consumer"><code>KafkaConsumer</code></a>. Members of the consumer group subscribe
to the topics they are interested in and forward their subscriptions to a Kafka broker serving
as the group coordinator. The coordinator selects one member to perform the group assignment and
propagates the subscriptions of all members to it. Then <a href="#assign(org.apache.kafka.common.Cluster,org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.GroupSubscription)"><code>assign(Cluster, GroupSubscription)</code></a> is called
to perform the assignment and the results are forwarded back to each respective members
In some cases, it is useful to forward additional metadata to the assignor in order to make
assignment decisions. For this, you can override <a href="#subscriptionUserData(java.util.Set)"><code>subscriptionUserData(Set)</code></a> and provide custom
userData in the returned Subscription. For example, to have a rack-aware assignor, an implementation
can use this user data to forward the rackId belonging to each member.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested.class.summary">
<h2>Nested Class Summary</h2>
<div class="member-summary">
<table class="summary-table">
<caption><span>Nested Classes</span></caption>
<thead>
<tr>
<th class="col-first" scope="col">Modifier and Type</th>
<th class="col-second" scope="col">Interface</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color">
<td class="col-first"><code>static class&nbsp;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="ConsumerPartitionAssignor.Assignment.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.Assignment</a></span></code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>static class&nbsp;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="ConsumerPartitionAssignor.GroupAssignment.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.GroupAssignment</a></span></code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color">
<td class="col-first"><code>static class&nbsp;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="ConsumerPartitionAssignor.GroupSubscription.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.GroupSubscription</a></span></code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>static class&nbsp;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="ConsumerPartitionAssignor.RebalanceProtocol.html" title="enum in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.RebalanceProtocol</a></span></code></th>
<td class="col-last">
<div class="block">The rebalance protocol defines partition assignment and revocation semantics.</div>
</td>
</tr>
<tr class="alt-color">
<td class="col-first"><code>static class&nbsp;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="ConsumerPartitionAssignor.Subscription.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.Subscription</a></span></code></th>
<td class="col-last">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div class="member-summary" id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="active-table-tab">All Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="table-tab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="table-tab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t3" class="table-tab" onclick="show(4);">Abstract Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t5" class="table-tab" onclick="show(16);">Default Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<table class="summary-table" aria-labelledby="t0">
<thead>
<tr>
<th class="col-first" scope="col">Modifier and Type</th>
<th class="col-second" scope="col">Method</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color" id="i0">
<td class="col-first"><code><a href="ConsumerPartitionAssignor.GroupAssignment.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.GroupAssignment</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#assign(org.apache.kafka.common.Cluster,org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.GroupSubscription)">assign</a></span>&#8203;(<a href="../../common/Cluster.html" title="class in org.apache.kafka.common">Cluster</a>&nbsp;metadata,
<a href="ConsumerPartitionAssignor.GroupSubscription.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.GroupSubscription</a>&nbsp;groupSubscription)</code></th>
<td class="col-last">
<div class="block">Perform the group assignment given the member subscriptions and current cluster metadata.</div>
</td>
</tr>
<tr class="row-color" id="i1">
<td class="col-first"><code>static <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="ConsumerPartitionAssignor.html" title="interface in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor</a>&gt;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getAssignorInstances(java.util.List,java.util.Map)">getAssignorInstances</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;assignorClasses,
<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&nbsp;configs)</code></th>
<td class="col-last">
<div class="block">Get a list of configured instances of <a href="ConsumerPartitionAssignor.html" title="interface in org.apache.kafka.clients.consumer"><code>ConsumerPartitionAssignor</code></a>
based on the class names/types specified by <a href="ConsumerConfig.html#PARTITION_ASSIGNMENT_STRATEGY_CONFIG"><code>ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG</code></a></div>
</td>
</tr>
<tr class="alt-color" id="i2">
<td class="col-first"><code><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#name()">name</a></span>()</code></th>
<td class="col-last">
<div class="block">Unique name for this assignor (e.g.</div>
</td>
</tr>
<tr class="row-color" id="i3">
<td class="col-first"><code>default void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#onAssignment(org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.Assignment,org.apache.kafka.clients.consumer.ConsumerGroupMetadata)">onAssignment</a></span>&#8203;(<a href="ConsumerPartitionAssignor.Assignment.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.Assignment</a>&nbsp;assignment,
<a href="ConsumerGroupMetadata.html" title="class in org.apache.kafka.clients.consumer">ConsumerGroupMetadata</a>&nbsp;metadata)</code></th>
<td class="col-last">
<div class="block">Callback which is invoked when a group member receives its assignment from the leader.</div>
</td>
</tr>
<tr class="alt-color" id="i4">
<td class="col-first"><code>default <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#subscriptionUserData(java.util.Set)">subscriptionUserData</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;topics)</code></th>
<td class="col-last">
<div class="block">Return serialized data that will be included in the <a href="ConsumerPartitionAssignor.Subscription.html" title="class in org.apache.kafka.clients.consumer"><code>ConsumerPartitionAssignor.Subscription</code></a> sent to the leader
and can be leveraged in <a href="#assign(org.apache.kafka.common.Cluster,org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.GroupSubscription)"><code>assign(Cluster, GroupSubscription)</code></a> ((e.g.</div>
</td>
</tr>
<tr class="row-color" id="i5">
<td class="col-first"><code>default <a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="ConsumerPartitionAssignor.RebalanceProtocol.html" title="enum in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.RebalanceProtocol</a>&gt;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#supportedProtocols()">supportedProtocols</a></span>()</code></th>
<td class="col-last">
<div class="block">Indicate which rebalance protocol this assignor works with;
By default it should always work with <a href="ConsumerPartitionAssignor.RebalanceProtocol.html#EAGER"><code>ConsumerPartitionAssignor.RebalanceProtocol.EAGER</code></a>.</div>
</td>
</tr>
<tr class="alt-color" id="i6">
<td class="col-first"><code>default short</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#version()">version</a></span>()</code></th>
<td class="col-last">
<div class="block">Return the version of the assignor which indicates how the user metadata encodings
and the assignment algorithm gets evolved.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="subscriptionUserData(java.util.Set)">
<h3>subscriptionUserData</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/nio/ByteBuffer.html" title="class or interface in java.nio" class="external-link">ByteBuffer</a></span>&nbsp;<span class="member-name">subscriptionUserData</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;topics)</span></div>
<div class="block">Return serialized data that will be included in the <a href="ConsumerPartitionAssignor.Subscription.html" title="class in org.apache.kafka.clients.consumer"><code>ConsumerPartitionAssignor.Subscription</code></a> sent to the leader
and can be leveraged in <a href="#assign(org.apache.kafka.common.Cluster,org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.GroupSubscription)"><code>assign(Cluster, GroupSubscription)</code></a> ((e.g. local host/rack information)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>topics</code> - Topics subscribed to through <a href="KafkaConsumer.html#subscribe(java.util.Collection)"><code>KafkaConsumer.subscribe(java.util.Collection)</code></a>
and variants</dd>
<dt>Returns:</dt>
<dd>nullable subscription user data</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="assign(org.apache.kafka.common.Cluster,org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.GroupSubscription)">
<h3>assign</h3>
<div class="member-signature"><span class="return-type"><a href="ConsumerPartitionAssignor.GroupAssignment.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.GroupAssignment</a></span>&nbsp;<span class="member-name">assign</span>&#8203;(<span class="parameters"><a href="../../common/Cluster.html" title="class in org.apache.kafka.common">Cluster</a>&nbsp;metadata,
<a href="ConsumerPartitionAssignor.GroupSubscription.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.GroupSubscription</a>&nbsp;groupSubscription)</span></div>
<div class="block">Perform the group assignment given the member subscriptions and current cluster metadata.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>metadata</code> - Current topic/broker metadata known by consumer</dd>
<dd><code>groupSubscription</code> - Subscriptions from all members including metadata provided through <a href="#subscriptionUserData(java.util.Set)"><code>subscriptionUserData(Set)</code></a></dd>
<dt>Returns:</dt>
<dd>A map from the members to their respective assignments. This should have one entry
for each member in the input subscription map.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="onAssignment(org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.Assignment,org.apache.kafka.clients.consumer.ConsumerGroupMetadata)">
<h3>onAssignment</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">onAssignment</span>&#8203;(<span class="parameters"><a href="ConsumerPartitionAssignor.Assignment.html" title="class in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.Assignment</a>&nbsp;assignment,
<a href="ConsumerGroupMetadata.html" title="class in org.apache.kafka.clients.consumer">ConsumerGroupMetadata</a>&nbsp;metadata)</span></div>
<div class="block">Callback which is invoked when a group member receives its assignment from the leader.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>assignment</code> - The local member's assignment as provided by the leader in <a href="#assign(org.apache.kafka.common.Cluster,org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.GroupSubscription)"><code>assign(Cluster, GroupSubscription)</code></a></dd>
<dd><code>metadata</code> - Additional metadata on the consumer (optional)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="supportedProtocols()">
<h3>supportedProtocols</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="ConsumerPartitionAssignor.RebalanceProtocol.html" title="enum in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor.RebalanceProtocol</a>&gt;</span>&nbsp;<span class="member-name">supportedProtocols</span>()</div>
<div class="block">Indicate which rebalance protocol this assignor works with;
By default it should always work with <a href="ConsumerPartitionAssignor.RebalanceProtocol.html#EAGER"><code>ConsumerPartitionAssignor.RebalanceProtocol.EAGER</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="version()">
<h3>version</h3>
<div class="member-signature"><span class="modifiers">default</span>&nbsp;<span class="return-type">short</span>&nbsp;<span class="member-name">version</span>()</div>
<div class="block">Return the version of the assignor which indicates how the user metadata encodings
and the assignment algorithm gets evolved.</div>
</section>
</li>
<li>
<section class="detail" id="name()">
<h3>name</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="member-name">name</span>()</div>
<div class="block">Unique name for this assignor (e.g. "range" or "roundrobin" or "sticky"). Note, this is not required
to be the same as the class name specified in <a href="ConsumerConfig.html#PARTITION_ASSIGNMENT_STRATEGY_CONFIG"><code>ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG</code></a></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>non-null unique name</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAssignorInstances(java.util.List,java.util.Map)">
<h3>getAssignorInstances</h3>
<div class="member-signature"><span class="modifiers">static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="ConsumerPartitionAssignor.html" title="interface in org.apache.kafka.clients.consumer">ConsumerPartitionAssignor</a>&gt;</span>&nbsp;<span class="member-name">getAssignorInstances</span>&#8203;(<span class="parameters"><a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;&nbsp;assignorClasses,
<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/15/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&gt;&nbsp;configs)</span></div>
<div class="block">Get a list of configured instances of <a href="ConsumerPartitionAssignor.html" title="interface in org.apache.kafka.clients.consumer"><code>ConsumerPartitionAssignor</code></a>
based on the class names/types specified by <a href="ConsumerConfig.html#PARTITION_ASSIGNMENT_STRATEGY_CONFIG"><code>ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG</code></a></div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottom-nav" id="navbar.bottom">
<div class="skip-nav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar.bottom.firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>