Brooklyn

brooklyn.entity.proxy
[Java] Class AbstractControllerImpl

java.lang.Object
  brooklyn.entity.basic.AbstractEntity
      brooklyn.entity.basic.SoftwareProcessImpl
          brooklyn.entity.proxy.AbstractControllerImpl
All Implemented Interfaces:
AbstractController

public abstract class AbstractControllerImpl
extends SoftwareProcessImpl

Represents a controller mechanism for a Cluster.


Field Summary
protected boolean isActive

protected java.util.Set serverPoolAddresses

protected AbstractMembershipTrackingPolicy serverPoolMemberTrackerPolicy

protected java.util.Map serverPoolTargets

protected boolean updateNeeded

 
Fields inherited from class SoftwareProcessImpl
connectedSensors
 
Fields inherited from class AbstractEntity
EFFECTOR_ADDED, EFFECTOR_CHANGED, EFFECTOR_REMOVED, LOG, POLICY_ADDED, POLICY_REMOVED, SENSOR_ADDED, SENSOR_REMOVED, _subscriptionTracker, managementSupport, tempWorkings
 
Constructor Summary
AbstractControllerImpl()

AbstractControllerImpl(java.util.Map properties)

AbstractControllerImpl(Entity parent)

AbstractControllerImpl(java.util.Map properties, Entity parent)

AbstractControllerImpl(Entity parent, Cluster cluster)

AbstractControllerImpl(java.util.Map properties, Entity parent, Cluster cluster)

 
Method Summary
protected void addServerPoolMember(Entity member)

protected boolean belongsInServerPool(Entity member)

void bind(java.util.Map flags)

Opportunity to do late-binding of the cluster that is being controlled.

AbstractEntity configure(java.util.Map flags)

protected void connectSensors()

protected java.lang.String getAddressOfEntity(Entity member)

java.lang.String getDomain()

protected AttributeSensor getHostnameSensor()

java.lang.Integer getPort()

primary URL this controller serves, if one can / has been inferred

AttributeSensor getPortNumberSensor()

java.lang.String getProtocol()

returns primary domain this controller responds to, or null if it responds to all domains

RebindSupport getRebindSupport()

protected java.util.Collection getRequiredOpenPorts()

java.lang.String getUrl()

protected java.lang.String inferProtocol()

returns URL, if it can be inferred; null otherwise

protected java.lang.String inferUrl(boolean requireManagementAccessible)

protected java.lang.String inferUrl()

void init()

boolean isActive()

void onManagementNoLongerMaster()

protected void onServerPoolMemberChanged(Entity member)

protected void postRebind()

protected void postStart()

protected void preStart()

protected void preStop()

protected void reconfigureService()

void reload()

protected void removeServerPoolMember(Entity member)

protected void resetServerPoolMemberTrackerPolicy()

void update()

Task updateAsync()

void updateNeeded()

 
Methods inherited from class SoftwareProcessImpl
callRebindHooks, callStartHooks, checkModifiable, connectSensors, connectServiceUpIsRunning, disconnectSensors, disconnectServiceUpIsRunning, doInitDriver, doRestart, doStart, doStop, getDriver, getLocalHostname, getMachineOrNull, getProvisioningFlags, getProvisioningLocation, getRequiredOpenPorts, newDriver, obtainProvisioningFlags, onManagementStarted, onManagementStarting, postDriverStart, postRebind, postStart, preStart, preStop, rebind, restart, setProvisioningLocation, start, startInLocation, startInLocation, startInLocation, startInLocation, stop, waitForEntityStart, waitForServiceUp, waitForServiceUp, waitForServiceUp, waitForServiceUp
 
Methods inherited from class AbstractEntity
addChild, addChild, addEnricher, addGroup, addLocations, addPolicy, clearLocations, clearParent, configure, configure, configure, configure, configure, configure, destroy, emit, emitInternal, equals, finalize, firstLocation, getAllAttributes, getAllConfig, getApplication, getApplicationId, getAttribute, getAttributeByNameParts, getChildren, getConfig, getConfig, getConfig, getConfig, getConfigMap, getCreationTime, getDisplayName, getEffector, getEnrichers, getEntityManager, getEntityType, getEntityTypeName, getExecutionContext, getGroups, getIconUrl, getId, getLocations, getManagementContext, getManagementSupport, getMutableEntityType, getParent, getPolicies, getProxy, getProxyIfAvailable, getRebindSupport, getSubscriptionContext, getSubscriptionTracker, hashCode, init, invalidateReferences, invoke, invoke, invoke, isLegacyConstruction, onManagementBecomingMaster, onManagementNoLongerMaster, onManagementStarted, onManagementStarting, onManagementStopped, refreshInheritedConfig, removeAllEnrichers, removeAllPolicies, removeAttribute, removeChild, removeEnricher, removeLocations, removePolicy, setApplication, setAttribute, setAttribute, setAttributeWithoutPublishing, setConfig, setConfig, setConfig, setConfig, setConfig, setConfig, setConfigEvenIfOwned, setConfigEvenIfOwned, setConfigIfValNonNull, setConfigIfValNonNull, setDisplayName, setManagementContext, setParent, setProxy, subscribe, subscribeToChildren, subscribeToMembers, toMetadataRecord, toString, toStringHelper, unsubscribe, unsubscribe
 

Field Detail

isActive

protected boolean isActive


serverPoolAddresses

protected java.util.Set serverPoolAddresses


serverPoolMemberTrackerPolicy

protected AbstractMembershipTrackingPolicy serverPoolMemberTrackerPolicy


serverPoolTargets

protected java.util.Map serverPoolTargets


updateNeeded

protected boolean updateNeeded


 
Constructor Detail

AbstractControllerImpl

public AbstractControllerImpl()


AbstractControllerImpl

public AbstractControllerImpl(java.util.Map properties)


AbstractControllerImpl

public AbstractControllerImpl(Entity parent)


AbstractControllerImpl

public AbstractControllerImpl(java.util.Map properties, Entity parent)


AbstractControllerImpl

public AbstractControllerImpl(Entity parent, Cluster cluster)


AbstractControllerImpl

public AbstractControllerImpl(java.util.Map properties, Entity parent, Cluster cluster)


 
Method Detail

addServerPoolMember

protected void addServerPoolMember(Entity member)


belongsInServerPool

protected boolean belongsInServerPool(Entity member)


bind

LOG.warn("Deprecated use of AbstractController.cluster: entity {}; value {}", this, flags.get("cluster"));
public void bind(java.util.Map flags)
Opportunity to do late-binding of the cluster that is being controlled. Must be called before start(). Can pass in the 'cluster'.


configure

if (flags.containsKey("cluster")) {
public AbstractEntity configure(java.util.Map flags)


connectSensors

resetServerPoolMemberTrackerPolicy();
protected void connectSensors()


getAddressOfEntity

protected java.lang.String getAddressOfEntity(Entity member)


getDomain

return getAttribute(PROXY_HTTP_PORT);
public java.lang.String getDomain()


getHostnameSensor

protected AttributeSensor getHostnameSensor()


getPort

public String getUrl() {
public java.lang.Integer getPort()
primary URL this controller serves, if one can / has been inferred


getPortNumberSensor

}
public AttributeSensor getPortNumberSensor()


getProtocol

public String getDomain() {
public java.lang.String getProtocol()
returns primary domain this controller responds to, or null if it responds to all domains


getRebindSupport

// TODO If pool-target entity couldn't be resolved, then  serverPoolAddresses and serverPoolTargets
public RebindSupport getRebindSupport()


getRequiredOpenPorts

@Override
protected java.util.Collection getRequiredOpenPorts()


getUrl

return getAttribute(PORT_NUMBER_SENSOR);
public java.lang.String getUrl()


inferProtocol

protected java.lang.String inferProtocol()
returns URL, if it can be inferred; null otherwise


inferUrl

protected java.lang.String inferUrl(boolean requireManagementAccessible)


inferUrl

protected java.lang.String inferUrl()


init

public void init()


isActive

return getAttribute(PROTOCOL);
public boolean isActive()


onManagementNoLongerMaster

private Group getServerPool() {
public void onManagementNoLongerMaster()


onServerPoolMemberChanged

protected void onServerPoolMemberChanged(Entity member)


postRebind

@Override
protected void postRebind()


postStart

@Override
protected void postStart()


preStart

protected void preStart()


preStop

* Implementations should update the configuration so that 'serverPoolAddresses' are targeted.
protected void preStop()


reconfigureService

protected void reconfigureService()


reload

/** returns URL, if it can be inferred; null otherwise */
public void reload()


removeServerPoolMember

protected void removeServerPoolMember(Entity member)


resetServerPoolMemberTrackerPolicy

protected void resetServerPoolMemberTrackerPolicy()


update

Task result = null;
public void update()


updateAsync

public Task updateAsync()


updateNeeded

public void updateNeeded()


 

Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.