@Beta public interface DynamicMultiGroup extends DynamicGroup
BrooklynObject.TagSupport
Configurable.ConfigurationSupport
Modifier and Type | Field and Description |
---|---|
static ConfigKey<com.google.common.base.Function<Entity,java.lang.String>> |
BUCKET_FUNCTION
Implements the mapping from
Entity to bucket name. |
static ConfigKey<EntitySpec<? extends BasicGroup>> |
BUCKET_SPEC
Determines the type of
Group used for the buckets. |
static AttributeSensor<java.util.Map<java.lang.String,BasicGroup>> |
BUCKETS |
static AttributeSensor<java.lang.Void> |
RESCAN
Notification that a rescan has taken place.
|
static ConfigKey<java.lang.Long> |
RESCAN_INTERVAL
Interval (in seconds) between scans of all entities for membership and distribution into buckets.
|
ENTITY_FILTER, RESCAN_EFFECTOR, RUNNING
FIRST, FIRST_MEMBER, GROUP_MEMBERS, MEMBER_DELEGATE_CHILDREN, MEMBER_DELEGATE_NAME_FORMAT, RUNNING_QUORUM_CHECK, UP_QUORUM_CHECK
GROUP_SIZE, MEMBER_ADDED, MEMBER_REMOVED
Modifier and Type | Method and Description |
---|---|
void |
distributeEntities()
Distribute entities accepted by the
DynamicGroup.ENTITY_FILTER into uniquely-named
buckets according to the BUCKET_FUNCTION . |
addSubscription, addSubscription, entityFilter, rescanEntities, setEntityFilter, setEntityFilter, stop
setMembers, setMembers
addChild, addChild, addMember, addMemberChild, addMemberChild, getCurrentSize, getMembers, hasMember, removeMember
addEnricher, addEnricher, addFeed, addGroup, addPolicy, addPolicy, addTag, clearParent, containsTag, getApplication, getApplicationId, getAttribute, getChildren, getConfig, getConfig, getConfigRaw, getConfigRaw, getCreationTime, getDisplayName, getEnrichers, getEntityType, getGroups, getIconUrl, getId, getLocations, getParent, getPolicies, getTags, invoke, removeChild, removeEnricher, removeGroup, removePolicy, removeTag, setParent
getCatalogItemId, getTagSupport, tags
config, setConfig
static final ConfigKey<com.google.common.base.Function<Entity,java.lang.String>> BUCKET_FUNCTION
Entity
to bucket name.static final ConfigKey<EntitySpec<? extends BasicGroup>> BUCKET_SPEC
Group
used for the buckets.BasicGroup
static final AttributeSensor<java.util.Map<java.lang.String,BasicGroup>> BUCKETS
static final ConfigKey<java.lang.Long> RESCAN_INTERVAL
static final AttributeSensor<java.lang.Void> RESCAN
void distributeEntities()
DynamicGroup.ENTITY_FILTER
into uniquely-named
buckets according to the BUCKET_FUNCTION
.
A Group
entity is created for each required bucket and added as a managed child of
this component. Entities for a given bucket are added as members of the corresponding group.
By default BasicGroup
instances will be created for the buckets, however any group
entity can be used instead (e.g. with custom effectors) by specifying the relevant entity
spec via the BUCKET_SPEC
config key.
Entities for which the bucket function returns null
are not allocated to any
bucket and are thus effectively excluded. Buckets that become empty following re-evaluation
are removed.
DynamicGroup.ENTITY_FILTER
,
BUCKET_FUNCTION
,
#GROUP_SPEC