@Override public void setEntity(EntityLocal entity) { checkArgument(entity instanceof DynamicCluster, "Replacer must take a DynamicCluster, not %s", entity); Sensor<?> failureSensorToMonitor = checkNotNull(getConfig(FAILURE_SENSOR_TO_MONITOR), "failureSensorToMonitor"); super.setEntity(entity); subscribeToMembers((Group)entity, failureSensorToMonitor, new SensorEventListener<Object>() { @Override public void onEvent(SensorEvent<Object> event) { onDetectedFailure(event); } }); }
@Override public void setEntity(EntityLocal entity) { Preconditions.checkArgument(entity instanceof Startable, "Restarter must take a Startable, not "+entity); super.setEntity(entity); subscribe(entity, getConfig(FAILURE_SENSOR_TO_MONITOR), new SensorEventListener<Object>() { @Override public void onEvent(SensorEvent<Object> event) { onDetectedFailure(event); } }); }
@Override public void setEntity(EntityLocal entity) { super.setEntity(entity); entity.subscribe(entity, sensor, listenerFromValueClosure(code)); } };
@Override public void setEntity(EntityLocal entity) { super.setEntity(entity); entity.subscribe(remoteEntity, remoteSensor, listenerFromValueClosure(code)); } };
@Override public void addPolicy(Policy policy) { policies.add((AbstractPolicy)policy); ((AbstractPolicy)policy).setEntity(this); getManagementSupport().getEntityChangeListener().onPoliciesChanged(); emit(AbstractEntity.POLICY_ADDED, new PolicyDescriptor(policy)); }
@Override public void setEntity(EntityLocal entity) { super.setEntity(entity); if (getConfig(USE_SERVICE_STATE_RUNNING)) { subscribe(entity, Attributes.SERVICE_STATE, new SensorEventListener<Lifecycle>() { @Override public void onEvent(SensorEvent<Lifecycle> event) { onServiceState(event.getValue()); } }); } subscribe(entity, Startable.SERVICE_UP, new SensorEventListener<Boolean>() { @Override public void onEvent(SensorEvent<Boolean> event) { onServiceUp(event.getValue()); } }); onMemberAdded(); }
@Override public void setEntity(EntityLocal entity) { if (configsInternal.getRawConfig(RESIZE_OPERATOR) == null) { Preconditions.checkArgument(entity instanceof Resizable, "Provided entity must be an instance of Resizable, because no custom-resizer operator supplied"); } super.setEntity(entity); this.poolEntity = entity; if (getMetric() != null) { Entity entityToSubscribeTo = (getEntityWithMetric() != null) ? getEntityWithMetric() : entity; subscribe(entityToSubscribeTo, getMetric(), metricEventHandler); } subscribe(poolEntity, getPoolColdSensor(), utilizationEventHandler); subscribe(poolEntity, getPoolHotSensor(), utilizationEventHandler); subscribe(poolEntity, getPoolOkSensor(), utilizationEventHandler); }
@Override public void setEntity(EntityLocal entity) { checkArgument(entity instanceof FollowTheSunPool, "Provided entity must be a FollowTheSunPool"); super.setEntity(entity); this.poolEntity = (FollowTheSunPool) entity; // Detect when containers are added to or removed from the pool. subscribe(poolEntity, FollowTheSunPool.CONTAINER_ADDED, eventHandler); subscribe(poolEntity, FollowTheSunPool.CONTAINER_REMOVED, eventHandler); subscribe(poolEntity, FollowTheSunPool.ITEM_ADDED, eventHandler); subscribe(poolEntity, FollowTheSunPool.ITEM_REMOVED, eventHandler); subscribe(poolEntity, FollowTheSunPool.ITEM_MOVED, eventHandler); // Take heed of any extant containers. for (Entity container : poolEntity.getContainerGroup().getMembers()) { onContainerAdded(container, false); } for (Entity item : poolEntity.getItemGroup().getMembers()) { onItemAdded((Movable)item, false); } scheduleLatencyReductionJig(); }
@Override public void setEntity(EntityLocal entity) { Preconditions.checkArgument(entity instanceof BalanceableWorkerPool, "Provided entity must be a BalanceableWorkerPool"); super.setEntity(entity); this.poolEntity = (BalanceableWorkerPool) entity; // Detect when containers are added to or removed from the pool. subscribe(poolEntity, BalanceableWorkerPool.CONTAINER_ADDED, eventHandler); subscribe(poolEntity, BalanceableWorkerPool.CONTAINER_REMOVED, eventHandler); subscribe(poolEntity, BalanceableWorkerPool.ITEM_ADDED, eventHandler); subscribe(poolEntity, BalanceableWorkerPool.ITEM_REMOVED, eventHandler); subscribe(poolEntity, BalanceableWorkerPool.ITEM_MOVED, eventHandler); // Take heed of any extant containers. for (Entity container : poolEntity.getContainerGroup().getMembers()) { onContainerAdded((NodeType)container, false); } for (Entity item : poolEntity.getItemGroup().getMembers()) { onItemAdded((ItemType)item, (NodeType)item.getAttribute(Movable.CONTAINER), false); } scheduleRebalance(); }
@Override public void setEntity(EntityLocal entity) { super.setEntity(entity);