DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
| Code Block |
|---|
package org.apache.kafka.client.admin;
import org.apache.kafka.common.GroupType;
/**
* Options for {@link Admin#listGroups(ListGroupsOptions)}.
*
* The API of this class is evolving, see {@link Admin} for details.
*/
@InterfaceStability.Evolving
public class ListGroupsOptions extends AbstractOptions<ListGroupsOptions> {
/**
* In groupStatesOnly consumer groups will be returned by listGroups().
* This operation sets filters on group type and protocol type which select consumer groups.
*/
public static ListGroupsOptions forConsumerGroups() {
return new ListGroupsOptions()
.withTypes(Set.of(GroupType.CLASSIC, GroupType.CONSUMER))
.withProtocolTypes(Set.of("", ConsumerProtocol.PROTOCOL_TYPE));
}
/**
* Only share groups will be returned by listGroups().
* This operation sets a filter on group type which select share groups.
*/
public static ListGroupsOptions forShareGroups() {
return new ListGroupsOptions()
.withTypes(Set.of(GroupType.SHARE));
}
/**
* Only streams groups will be returned by listGroups().
* This operation sets a filter on group type which select streams groups.
*/
public static ListGroupsOptions forStreamsGroups() {
return new ListGroupsOptions()
.withTypes(Set.of(GroupType.STREAMS));
}
/**
* If groupStates is set, only groups in these states will be returned by listGroups().
* Otherwise, all groups are returned.
* This operation is supported by brokers with version 2.6.0 or later.
*/
public ListGroupsOptions inGroupStates(Set<GroupState> groupStates) {
this.groupStates = (groupStates == null || groupStates.isEmpty()) ? Collections.emptySet() : new HashSet<>(groupStates);
return this;
}
/**
* If protocol types is set, only groups inof these statesprotocol types will be returned by listGroups().
* Otherwise, all groups are returned.
* This operation is supported by brokers with version 2.6.0 or later.
*/
public ListGroupsOptions inStateswithProtocolTypes(Set<GroupState>Set<String> groupStatesprotocolTypes) {
thisthis.groupStatesprotocolTypes = (groupStatesprotocolTypes == null || groupStatesprotocolTypes.isEmpty()) ? CollectionsSet.emptySetof() : new HashSet<>(groupStatesSet.copyOf(protocolTypes);
return this;
}
/**
* If types is set, only groups of these types will be returned by listGroups().
* Otherwise, all groups are returned.
*/
public ListGroupsOptions withTypes(Set<GroupType> types) {
this.types = (types == null || types.isEmpty()) ? Collections.emptySet() : new HashSet<>(types);
return this;
}
/**
* Returns the list of group states that are requested or empty if not states have been specified.
*/
public Set<GroupState> groupStates() {
return groupStates;
}
/**
* Returns the list of protocol types that are requested or empty if no protocol types have been specified.
*/
public Set<String> protocolTypes() {
return protocolTypes;
}
/**
* Returns the list of group types that are requested or empty if no types have been specified.
*/
public Set<GroupType> types() {
return types;
}
} |
...
The new GroupState enum contains the states for all types of groups. The following table shows the correspondence between the group states and types. This table will be included in the javadoc.
| State | Classic group | Classic consumer group | Modern consumer group | Share group |
|---|---|---|---|---|
| UNKNOWN | Yes | Yes | Yes | Yes |
| PREPARING_REBALANCE | Yes | Yes | ||
| COMPLETING_REBALANCE | Yes | Yes | ||
| STABLE | Yes | Yes | Yes | Yes |
| DEAD | Yes | Yes | Yes | Yes |
| EMPTY | Yes | Yes | Yes | Yes |
| ASSIGNING | Yes | |||
| RECONCILING | Yes |
| Code Block |
|---|
package org.apache.kafka.common;
/**
* The group state.
*/
public enum GroupState {
UNKNOWN("Unknown"),
PREPARING_REBALANCE("PreparingRebalance"),
COMPLETING_REBALANCE("CompletingRebalance"),
STABLE("Stable"),
DEAD("Dead"),
EMPTY("Empty"),
ASSIGNING("Assigning"),
RECONCILING("Reconciling");
GroupState(String name);
/**
* Case-insensitive group state lookup by string name.
*/
public static GroupState parse(String name);
public String toString();
} |
...