THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
GroupChangeListener.handleChildChange : 1. Get the newly added group (since /consumers/groups are persistent nodes, no groups should be deleted even if there is no consumers any more inside the group) 2. Subscribe the registerGroupMemeberChangeListener on /consumers/groups/group 3. Read all the topics this group is interested in, for each topic: 3.1 If the topic already exists in consumerGroupsPerTopic, update its list by adding this group 3.2 If the topic is not in consumerGroupsPerTopic yet, add the entry (topic \-> Set(group)) 4. If some of this group's consumers has wildcard interests, add that to groupsWithWildcardTopics 5. If the group already has some interested existed topics, put (group \-> new AtomicBoolean(true)) to groupsUnderRebalance, and put the group to rebalanceRequestQ; Otherwise just put (group -> new AtomicBoolean(false)) to groupsUnderRebalance |
...