public class NonDeploymentManagementContext extends java.lang.Object implements ManagementContextInternal
| Modifier and Type | Class and Description |
|---|---|
static class |
NonDeploymentManagementContext.NonDeploymentManagementContextMode |
ManagementContext.PropertiesReloadListenerBROOKLYN_CATALOG_URL, EFFECTOR_TAG, NON_TRANSIENT_TASK_TAG, SUB_TASK_TAG, TRANSIENT_TASK_TAG| Constructor and Description |
|---|
NonDeploymentManagementContext(AbstractEntity entity,
NonDeploymentManagementContext.NonDeploymentManagementContextMode mode) |
| Modifier and Type | Method and Description |
|---|---|
void |
addEntitySetListener(CollectionChangeListener<Entity> listener) |
void |
addPropertiesReloadListener(ManagementContext.PropertiesReloadListener listener)
Registers a listener to be notified when brooklyn.properties is reloaded
|
AccessController |
getAccessController()
For controlling access to operations - can be queried to find if an operation is allowed.
|
AccessManager |
getAccessManager() |
java.util.Collection<Application> |
getApplications()
All applications under control of this management plane
|
java.lang.ClassLoader |
getBaseClassLoader() |
java.lang.Iterable<java.net.URL> |
getBaseClassPathForScanning() |
BrooklynProperties |
getBrooklynProperties() |
BrooklynCatalog |
getCatalog()
Record of configured Brooklyn entities (and templates and policies) which can be loaded
|
StringConfigMap |
getConfig()
Returns the ConfigMap (e.g.
|
EntitlementManager |
getEntitlementManager()
Active entitlements checker instance.
|
DownloadResolverManager |
getEntityDownloadsManager()
Returns the
DownloadResolverManager for resolving things like which URL to download an installer from. |
EntityDriverManager |
getEntityDriverManager()
Returns the
EntityDriverManager entities can use to create drivers. |
InternalEntityFactory |
getEntityFactory() |
EntityManager |
getEntityManager()
Returns the
EntityManager instance for managing/querying entities. |
ExecutionContext |
getExecutionContext(Entity entity)
Returns an
ExecutionContext instance representing tasks
(from the ExecutionManager) associated with this entity, and capable
of conveniently running such tasks which will be associated with that entity |
ExecutionManager |
getExecutionManager()
Returns the
ExecutionManager instance for entities and users in this management realm
to submit tasks and to observe what tasks are occurring |
HighAvailabilityManager |
getHighAvailabilityManager() |
InternalLocationFactory |
getLocationFactory() |
LocationManager |
getLocationManager() |
LocationRegistry |
getLocationRegistry()
Record of configured locations and location resolvers
|
java.lang.String |
getManagementNodeId()
UID for this
ManagementContext node (as part of a single management plane). |
Maybe<java.net.URI> |
getManagementNodeUri()
The URI that this management node's REST API is available at, or absent if the node's
API is unavailable.
|
java.lang.String |
getManagementPlaneId()
UID for the Brooklyn management plane which this
ManagementContext node is a part of. |
NonDeploymentManagementContext.NonDeploymentManagementContextMode |
getMode() |
Maybe<OsgiManager> |
getOsgiManager() |
InternalPolicyFactory |
getPolicyFactory() |
RebindManager |
getRebindManager() |
ExecutionContext |
getServerExecutionContext()
Returns an
ExecutionContext within the ExecutionManager for tasks
associated to the Brooklyn node's operation (not any entities). |
BrooklynStorage |
getStorage() |
SubscriptionContext |
getSubscriptionContext(Entity entity)
Returns a
SubscriptionContext instance representing subscriptions
(from the SubscriptionManager) associated with this entity, and capable
of conveniently subscribing on behalf of that entity |
QueueingSubscriptionManager |
getSubscriptionManager()
Returns the
SubscriptionManager instance for entities and users of this management realm
to subscribe to sensor events (and, in the case of entities, to emit sensor events) |
long |
getTotalEffectorInvocations() |
UsageManager |
getUsageManager() |
<T> Task<T> |
invokeEffector(Entity entity,
Effector<T> eff,
java.util.Map parameters) |
<T> T |
invokeEffectorMethodSync(Entity entity,
Effector<T> eff,
java.lang.Object args) |
boolean |
isRunning()
Whether this management context is still running, or has been terminated.
|
BrooklynObject |
lookup(java.lang.String id)
As
ManagementContext.lookup(String, Class) but not constraining the return type |
<T extends BrooklynObject> |
lookup(java.lang.String id,
java.lang.Class<T> type)
Finds an entity with the given ID known at this management context
|
void |
prePreManage(Entity entity)
Registers an entity that has been created, but that has not yet begun to be managed.
|
void |
prePreManage(Location location)
Registers a location that has been created, but that has not yet begun to be managed.
|
void |
reloadBrooklynProperties()
Reloads locations from brooklyn.properties.
|
void |
removeEntitySetListener(CollectionChangeListener<Entity> listener) |
void |
removePropertiesReloadListener(ManagementContext.PropertiesReloadListener listener)
Deregisters a listener from brooklyn.properties reload notifications
|
void |
setBaseClassPathForScanning(java.lang.Iterable<java.net.URL> urls) |
void |
setManagementContext(ManagementContextInternal val) |
void |
setManagementNodeUri(java.net.URI uri) |
void |
setMode(NonDeploymentManagementContext.NonDeploymentManagementContextMode mode) |
void |
terminate() |
java.lang.String |
toString() |
public NonDeploymentManagementContext(AbstractEntity entity, NonDeploymentManagementContext.NonDeploymentManagementContextMode mode)
public java.lang.String getManagementPlaneId()
ManagementContextManagementContext node is a part of.
Each Brooklyn entity is actively managed by a unique management plane
whose ID which should not normally change for the duration of that entity,
even though the nodes in that plane might, and the plane may go down and come back up.
In other words the value of Application#getManagementContext()#getManagementPlaneId()
will generally be constant (in contrast to ManagementContext.getManagementNodeId()).
This value should not be null unless the management context is a non-functional (non-deployment) instance.
getManagementPlaneId in interface ManagementContextpublic java.lang.String getManagementNodeId()
ManagementContextManagementContext node (as part of a single management plane).
No two instances of ManagementContext should ever have the same node UID.
The value of Application#getManagementContext()#getManagementNodeId() may
change many times (in contrast to ManagementContext.getManagementPlaneId()).
This value should not be null unless the management context is a non-functional (non-deployment) instance.
getManagementNodeId in interface ManagementContextpublic Maybe<java.net.URI> getManagementNodeUri()
ManagementContextgetManagementNodeUri in interface ManagementContextpublic void setManagementContext(ManagementContextInternal val)
public java.lang.String toString()
toString in class java.lang.Objectpublic void setMode(NonDeploymentManagementContext.NonDeploymentManagementContextMode mode)
public NonDeploymentManagementContext.NonDeploymentManagementContextMode getMode()
public java.util.Collection<Application> getApplications()
ManagementContextgetApplications in interface ManagementContextpublic boolean isRunning()
ManagementContextisRunning in interface ManagementContextpublic InternalEntityFactory getEntityFactory()
getEntityFactory in interface ManagementContextInternalpublic InternalLocationFactory getLocationFactory()
getLocationFactory in interface ManagementContextInternalpublic InternalPolicyFactory getPolicyFactory()
getPolicyFactory in interface ManagementContextInternalpublic EntityManager getEntityManager()
ManagementContextEntityManager instance for managing/querying entities.getEntityManager in interface ManagementContextpublic LocationManager getLocationManager()
getLocationManager in interface ManagementContextpublic AccessManager getAccessManager()
getAccessManager in interface ManagementContextInternalpublic UsageManager getUsageManager()
getUsageManager in interface ManagementContextInternalpublic Maybe<OsgiManager> getOsgiManager()
getOsgiManager in interface ManagementContextInternalpublic AccessController getAccessController()
ManagementContextAccessController.getAccessController in interface ManagementContextpublic ExecutionManager getExecutionManager()
ManagementContextExecutionManager instance for entities and users in this management realm
to submit tasks and to observe what tasks are occurringgetExecutionManager in interface ManagementContextpublic QueueingSubscriptionManager getSubscriptionManager()
ManagementContextSubscriptionManager instance for entities and users of this management realm
to subscribe to sensor events (and, in the case of entities, to emit sensor events)getSubscriptionManager in interface ManagementContextpublic SubscriptionContext getSubscriptionContext(Entity entity)
ManagementContextSubscriptionContext instance representing subscriptions
(from the SubscriptionManager) associated with this entity, and capable
of conveniently subscribing on behalf of that entitygetSubscriptionContext in interface ManagementContextpublic ExecutionContext getExecutionContext(Entity entity)
ManagementContextExecutionContext instance representing tasks
(from the ExecutionManager) associated with this entity, and capable
of conveniently running such tasks which will be associated with that entitygetExecutionContext in interface ManagementContextpublic ExecutionContext getServerExecutionContext()
ManagementContextExecutionContext within the ExecutionManager for tasks
associated to the Brooklyn node's operation (not any entities).getServerExecutionContext in interface ManagementContextpublic EntityDriverManager getEntityDriverManager()
ManagementContextEntityDriverManager entities can use to create drivers. This
manager can also be used to programmatically customize which driver type to use
for entities in different locations.
The default strategy for choosing a driver is to use a naming convention:
DriverDependentEntity.getDriverInterface() returns the interface that the
driver must implement; its name should end in "Driver". For example, this suffix is
replaced with "SshDriver" for SshMachineLocation, for example.getEntityDriverManager in interface ManagementContextpublic DownloadResolverManager getEntityDownloadsManager()
ManagementContextDownloadResolverManager for resolving things like which URL to download an installer from.
The default DownloadResolverManager will retrieve entity.getAttribute(Attributes.DOWNLOAD_URL),
and substitute things like "${version}" etc.
However, additional resolvers can be registered to customize this behaviour (e.g. to always go to an
enterprise's repository).getEntityDownloadsManager in interface ManagementContextpublic StringConfigMap getConfig()
ManagementContextgetConfig in interface ManagementContextpublic BrooklynProperties getBrooklynProperties()
getBrooklynProperties in interface ManagementContextInternalpublic BrooklynStorage getStorage()
getStorage in interface ManagementContextInternalpublic RebindManager getRebindManager()
getRebindManager in interface ManagementContextpublic HighAvailabilityManager getHighAvailabilityManager()
getHighAvailabilityManager in interface ManagementContextpublic LocationRegistry getLocationRegistry()
ManagementContextgetLocationRegistry in interface ManagementContextpublic BrooklynCatalog getCatalog()
ManagementContextgetCatalog in interface ManagementContextpublic EntitlementManager getEntitlementManager()
ManagementContextgetEntitlementManager in interface ManagementContextpublic <T> T invokeEffectorMethodSync(Entity entity, Effector<T> eff, java.lang.Object args) throws java.util.concurrent.ExecutionException
invokeEffectorMethodSync in interface ManagementContextInternaljava.util.concurrent.ExecutionExceptionpublic <T> Task<T> invokeEffector(Entity entity, Effector<T> eff, java.util.Map parameters)
invokeEffector in interface ManagementContextInternalpublic java.lang.ClassLoader getBaseClassLoader()
getBaseClassLoader in interface ManagementContextInternalpublic java.lang.Iterable<java.net.URL> getBaseClassPathForScanning()
getBaseClassPathForScanning in interface ManagementContextInternalpublic void addEntitySetListener(CollectionChangeListener<Entity> listener)
addEntitySetListener in interface ManagementContextInternalpublic void removeEntitySetListener(CollectionChangeListener<Entity> listener)
removeEntitySetListener in interface ManagementContextInternalpublic void terminate()
terminate in interface ManagementContextInternalpublic long getTotalEffectorInvocations()
getTotalEffectorInvocations in interface ManagementContextInternalpublic void setBaseClassPathForScanning(java.lang.Iterable<java.net.URL> urls)
setBaseClassPathForScanning in interface ManagementContextInternalpublic void setManagementNodeUri(java.net.URI uri)
setManagementNodeUri in interface ManagementContextInternalpublic void prePreManage(Entity entity)
ManagementContextInternalThis differs from the idea of "preManaged" where the entities are in the process of being managed, but where management is not yet complete.
prePreManage in interface ManagementContextInternalpublic void prePreManage(Location location)
ManagementContextInternalprePreManage in interface ManagementContextInternalpublic void reloadBrooklynProperties()
ManagementContextreloadBrooklynProperties in interface ManagementContextpublic void addPropertiesReloadListener(ManagementContext.PropertiesReloadListener listener)
ManagementContextaddPropertiesReloadListener in interface ManagementContextpublic void removePropertiesReloadListener(ManagementContext.PropertiesReloadListener listener)
ManagementContextremovePropertiesReloadListener in interface ManagementContextpublic BrooklynObject lookup(java.lang.String id)
ManagementContextManagementContext.lookup(String, Class) but not constraining the return typelookup in interface ManagementContextpublic <T extends BrooklynObject> T lookup(java.lang.String id, java.lang.Class<T> type)
ManagementContextlookup in interface ManagementContext