public abstract class SoftwareProcessImpl extends AbstractEntity implements SoftwareProcess, DriverDependentEntity
Entity representing a piece of software which can be installed, run, and controlled.
A single such entity can only run on a single MachineLocation at a time (you can have multiple on the machine).
It typically takes config keys for suggested versions, filesystem locations to use, and environment variables to set.
It exposes sensors for service state (Lifecycle) and status (String), and for host info, log file location.
AbstractEntity.BasicConfigurationSupport, AbstractEntity.BasicSensorSupportSoftwareProcess.ChildStartableMode, SoftwareProcess.RestartSoftwareParameters, SoftwareProcess.StopSoftwareParametersStartable.RestartEffectorBody, Startable.StartEffectorBody, Startable.StopEffectorBodyEntity.SensorSupportBrooklynObject.TagSupportConfigurable.ConfigurationSupportEntityInternal.FeedSupport, EntityInternal.SensorSupportInternalBrooklynObjectInternal.ConfigurationSupportInternalCHILD_ADDED, CHILD_REMOVED, EFFECTOR_ADDED, EFFECTOR_CHANGED, EFFECTOR_REMOVED, GROUP_ADDED, GROUP_REMOVED, LOCATION_ADDED, LOCATION_REMOVED, POLICY_ADDED, POLICY_REMOVED, SENSOR_ADDED, SENSOR_REMOVEDADDRESS, CHILDREN_STARTABLE_MODE, CUSTOMIZE_LATCH, DONT_REQUIRE_TTY_FOR_SUDO, DOWNLOAD_ADDON_URLS, DOWNLOAD_URL, ENTITY_STARTED, EXPANDED_INSTALL_DIR, HOSTNAME, INSTALL_DIR, INSTALL_FILES, INSTALL_LATCH, INSTALL_RESOURCES_LATCH, INSTALL_TEMPLATES, INSTALL_UNIQUE_LABEL, LAUNCH_LATCH, LIFECYCLE_EFFECTOR_TASKS, MAXIMUM_REBIND_SENSOR_CONNECT_DELAY, OPEN_IPTABLES, PID_FILE, POST_INSTALL_COMMAND, POST_LAUNCH_COMMAND, PRE_INSTALL_COMMAND, PRE_INSTALL_FILES, PRE_INSTALL_TEMPLATES, PRE_LAUNCH_COMMAND, PROVISIONING_LOCATION, PROVISIONING_PROPERTIES, REQUIRED_OPEN_LOGIN_PORTS, RETRIEVE_USAGE_METRICS, RUN_DIR, RUNTIME_FILES, RUNTIME_RESOURCES_LATCH, RUNTIME_TEMPLATES, SERVICE_PROCESS_IS_RUNNING, SERVICE_STATE_ACTUAL, SERVICE_STATE_EXPECTED, SETUP_LATCH, SHELL_ENVIRONMENT, SKIP_ENTITY_START_IF_RUNNING, SKIP_INSTALLATION, START_LATCH, START_TIMEOUT, STOP_IPTABLES, SUBNET_ADDRESS, SUBNET_HOSTNAME, SUGGESTED_INSTALL_DIR, SUGGESTED_RUN_DIR, SUGGESTED_VERSIONRESTART, SERVICE_UP, START, STOP| Constructor and Description |
|---|
SoftwareProcessImpl() |
SoftwareProcessImpl(Entity parent) |
SoftwareProcessImpl(java.util.Map properties) |
SoftwareProcessImpl(java.util.Map properties,
Entity parent) |
| Modifier and Type | Method and Description |
|---|---|
SoftwareProcessDriver |
getDriver() |
void |
init()
Default entity initialization, just calls
AbstractEntity.initEnrichers(). |
void |
onManagementStarted()
Invoked by
EntityManagementSupport when this entity is fully managed and visible to other entities
through the management context. |
void |
onManagementStarting()
Invoked by
EntityManagementSupport when this entity is becoming managed (i.e. |
void |
populateServiceNotUpDiagnostics() |
void |
rebind()
Called by framework on rebind (in new-style instances):
after configuring, but
before the instance is managed, and
before adjuncts are attached to entities, and
before a reference to an object is shared.
|
void |
restart()
If custom behaviour is required by sub-classes, consider overriding
preRestart() or postRestart(). |
void |
start(java.util.Collection<? extends Location> locations)
If custom behaviour is required by sub-classes, consider overriding
preStart() or postStart())}. |
void |
stop()
If custom behaviour is required by sub-classes, consider overriding
preStop() or postStop(). |
void |
waitForEntityStart() |
void |
waitForServiceUp() |
void |
waitForServiceUp(Duration duration) |
void |
waitForServiceUp(long duration,
java.util.concurrent.TimeUnit units) |
void |
waitForServiceUp(groovy.time.TimeDuration duration) |
addChild, addChild, addEnricher, addEnricher, addFeed, addGroup, addLocations, addPolicy, addPolicy, clearLocations, clearParent, config, configure, configure, configure, configure, configure, destroy, emit, emitInternal, equals, feeds, firstLocation, getAllAttributes, getAllConfig, getAllConfigBag, getApplication, getApplicationId, getAttribute, getAttributeByNameParts, getChildren, getConfig, getConfig, getConfig, getConfig, getConfigMap, getConfigRaw, getConfigRaw, getCreationTime, getDisplayName, getEffector, getEnrichers, getEntityType, getExecutionContext, getFeedSupport, getGroups, getIconUrl, getLocalConfigBag, getLocations, getManagementContext, getManagementSupport, getMutableEntityType, getParent, getPolicies, getProxy, getProxyIfAvailable, getRebindSupport, getSubscriptionContext, hashCode, invalidateReferences, invoke, invoke, invoke, modifyAttribute, onManagementBecomingMaster, onManagementNoLongerMaster, onManagementStopped, refreshInheritedConfig, removeAllEnrichers, removeAllPolicies, removeAttribute, removeChild, removeEnricher, removeGroup, removeLocations, removePolicy, requestPersist, resetProxy, sensors, setAttribute, setAttribute, setAttributeWithoutPublishing, setConfig, setConfig, setConfig, setConfig, setConfig, setConfig, setConfigEvenIfOwned, setConfigEvenIfOwned, setDisplayName, setManagementContext, setParent, setProxy, subscribe, subscribeToChildren, subscribeToMembers, toMetadataRecord, toString, unsubscribe, unsubscribegetCatalogItemId, getId, setCatalogItemId, tagsgetDriverInterfaceaddChild, addChild, addEnricher, addEnricher, addFeed, addGroup, addPolicy, addPolicy, clearParent, getApplication, getApplicationId, getAttribute, getChildren, getConfig, getConfig, getConfigRaw, getConfigRaw, getCreationTime, getDisplayName, getEnrichers, getEntityType, getGroups, getIconUrl, getId, getLocations, getParent, getPolicies, invoke, removeChild, removeEnricher, removeGroup, removePolicy, sensors, setParentgetCatalogItemId, tagsconfig, setConfigsetCatalogItemIdpublic SoftwareProcessImpl()
public SoftwareProcessImpl(Entity parent)
public SoftwareProcessImpl(java.util.Map properties)
public SoftwareProcessImpl(java.util.Map properties,
Entity parent)
public SoftwareProcessDriver getDriver()
getDriver in interface DriverDependentEntitypublic void init()
AbstractEntityAbstractEntity.initEnrichers().init in class AbstractEntitypublic void populateServiceNotUpDiagnostics()
populateServiceNotUpDiagnostics in interface SoftwareProcesspublic void onManagementStarting()
AbstractEntityEntityManagementSupport when this entity is becoming managed (i.e. it has a working
management context, but before the entity is visible to other entities), including during a rebind.onManagementStarting in class AbstractEntitypublic void onManagementStarted()
AbstractEntityEntityManagementSupport when this entity is fully managed and visible to other entities
through the management context.onManagementStarted in class AbstractEntitypublic void rebind()
AbstractBrooklynObjectAbstractBrooklynObject.init() will not be called on rebind.
If you need to intercept behaviour after adjuncts are attached,
consider AbstractEntity.onManagementStarting()
(but probably worth raising a discussion on the mailing list!)
rebind in class AbstractBrooklynObjectpublic void waitForServiceUp()
public void waitForServiceUp(Duration duration)
public void waitForServiceUp(groovy.time.TimeDuration duration)
public void waitForServiceUp(long duration,
java.util.concurrent.TimeUnit units)
public void waitForEntityStart()
public final void start(java.util.Collection<? extends Location> locations)
preStart() or postStart())}.
Also consider adding additional work via tasks, executed using DynamicTasks.queue(String, Callable).public final void stop()
preStop() or postStop().
Also consider adding additional work via tasks, executed using DynamicTasks.queue(String, Callable).public final void restart()
preRestart() or postRestart().
Also consider adding additional work via tasks, executed using DynamicTasks.queue(String, Callable).