|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ibm.broker.config.proxy.AdministeredObject
com.ibm.broker.config.proxy.ExecutionGroupProxy
public class ExecutionGroupProxy
Each execution group associated with a broker can be represented by an ExecutionGroupProxy.
In order to use ExecutionGroupProxy objects, applications must first obtain handles to them. Here is an example of how to do this:
ConfigManagerConnectionParameters cmcp = MQConfigManagerConnectionParameters("localhost", 1414, "QMGR"); ConfigManagerProxy cmp = ConfigManagerProxy.getInstance(cmcp); TopologyProxy t = cmp.getTopology(); BrokerProxy b = t.getBrokerByName("BROKER1"); ExecutionGroupProxy e = b.getExecutionGroupByName("default");
com.ibm.broker.config.proxy.ExecutionGroupProxy extends
com.ibm.broker.config.proxy.AdministeredObject
|
|
Responsibilities | Acts as a container of deployed message flows. Provides the ability to deploy information to the execution group represented by each instance. |
Internal Collaborators | com.ibm.broker.config.proxy.MessageFlowProxy |
Change Activity: -------- ----------- ------------- ------------------------------------ Reason: Date: Originator: Comments: -------- ----------- ------------- ------------------------------------ 25103.7 2004-03-18 HDMPL v6 Release 45112.7 2007-07-30 HDMPL v6.1 release: Methods now return genericized types where relevant Added getQueues() Added getNodeTypes() Added setRuntimeProperty(String, String) Added getRuntimeProperty(String) Added getRuntimePropertyNames()
Method Summary | |
---|---|
void |
addAccessControlEntries(AccessControlEntry[] accessControlList)
Adds this list to the list of access control entries that applies to this object. |
DeployResult |
deleteDeployedObjects(DeployedObject[] forDeletion,
long timeToWaitMs)
Asks the Configuration Manager to remove deployed objects from the execution group. |
DeployResult |
deleteDeployedObjectsByName(java.lang.String[] forDeletion,
long timeToWaitMs)
Asks the Configuration Manager to remove deployed objects from the execution group. |
void |
deploy(java.io.InputStream barStream)
Starts an incremental deploy of the BAR file, whose contents are embedded in the supplied InputStream, to the execution group. |
DeployResult |
deploy(java.io.InputStream barStream,
java.lang.String barFileLabel,
boolean isIncremental,
long timeToWaitMs)
Starts a deploy of the BAR file, whose contents are embedded in the supplied InputStream, to the execution group. |
void |
deploy(java.lang.String barFileName)
Starts an incremental deploy of the BAR file pointed to by the supplied filename, to the execution group. |
DeployResult |
deploy(java.lang.String barFileName,
boolean isIncremental,
long timeToWaitMs)
Starts a deploy of the BAR file pointed to by the supplied filename, to the execution group. |
AccessControlEntry[] |
getAccessControlEntries()
Creates and returns a set of AccessControlEntry objects that describes the set of (principal,permission) tuples that have been applied specifically to this object. |
ConfigurationObjectType |
getConfigurationObjectType()
Returns the ConfigurationObjectType associated with this AdministeredObject type. |
ConfigurationObjectType |
getConfigurationObjectTypeOfParent()
Returns the ConfigurationObjectType associated with the logical parent of this AdministeredObject type. |
DeployedObject |
getDeployedObjectByName(java.lang.String filename)
Returns a reference to the deployed object with the supplied name (e.g. |
DeployedObject |
getDeployedObjectFromSubcomponentString(java.lang.String subcomponentString)
If the supplied string is the value part of a property in the dependency or subcomponent groups, AND it represents a DeployedObject instance (including subcomponents beginning with the v5 syntax 'messageset'), this method returns a DeployedObject instance that represents it. |
java.util.Enumeration |
getDeployedObjects()
Returns an Enumeration of all the objects deployed to the current execution group. |
java.util.Enumeration<DeployedObject> |
getDeployedObjects(java.lang.String fileExtension)
Returns an enumeration of all the deployed objects with the supplied extension that are deployed to the current execution group. |
int |
getDeployedObjectsCount(java.lang.String name)
Returns the number of deployed objects that match the supplied name. |
MessageFlowProxy |
getMessageFlow(java.util.Properties props)
Returns the first MessageflowProxy object that matches the filter specified by the Properties argument. |
MessageFlowProxy |
getMessageFlowByName(java.lang.String messageFlowName)
Returns the MessageFlowProxy object with the supplied name, or null if a flow of that name does not exist or if the supplied argument was null. |
java.util.Enumeration<DeployedObject> |
getMessageFlowDependencies()
Returns an Enumeration of all the dependencies deployed to the current execution group. |
java.util.Enumeration<MessageFlowProxy> |
getMessageFlows(java.util.Properties filter)
Returns an enumeration of all the MessageFlowProxy objects that match the filter specified by the Properties argument. |
java.util.Enumeration |
getMessageSets()
Returns an Enumeration of all the Message Sets deployed to the current execution group. |
java.lang.String[] |
getNodeTypes()
Returns a list of the types of nodes used in this execution group. |
int |
getProcessorArchitecture()
Returns the processor architecture of this execution group. |
java.lang.String[] |
getQueues()
Returns a list of the MQ queues referenced by the message flows in use by this execution group. |
java.lang.String |
getRuntimeProperty(java.lang.String objectAndpropertyName)
Returns the value of the runtime property with the supplied name. |
java.lang.String[] |
getRuntimePropertyNames()
Returns a string array of all runtime configurable service properties associated with this object. |
boolean |
isRunning()
Returns true if and only if the execution group is running. |
void |
removeAccessControlEntries(AccessControlEntry[] accessControlList)
Deletes this list from the list of access control entries that applies to this object. |
void |
setAccessControlEntries(AccessControlEntry[] accessControlList)
Sets the complete list of access control entries that apply to this object. |
void |
setRuntimeProperty(java.lang.String objectAndPropertyName,
java.lang.String propertyValue)
Asks the Configuration Manager to configure an arbitrary execution group property. |
void |
setUserTrace(MessageFlowProxy.UserTrace newTrace)
Configures the user trace settings for every deployed message flow under the execution group's control. |
void |
startMessageFlows()
Asks the broker to start all message flows in the deployed execution group. |
void |
stopMessageFlows(boolean immediate)
Invokes the stopMessageFlows() method for each Message Flow within the execution group's control. |
static java.util.Properties |
withName(java.lang.String name)
Returns a new Properties object that has the UUID attribute set to the supplied String, and the type attribute to be the name of the subclass of AdministeredObject being used. |
static java.util.Properties |
withUUID(java.lang.String uuid)
Returns a new Properties object that has the UUID attribute set to the supplied String, and the type attribute to be the name of the subclass of AdministeredObject being used. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
public java.util.Enumeration<MessageFlowProxy> getMessageFlows(java.util.Properties filter) throws ConfigManagerProxyPropertyNotInitializedException
filter
- Filter to select which message flows to return.
Each key is an attribute name of the required object
and each value is the required value of the attribute. A null or
empty Properties object will match all message flows deployed
to this execution group.
ConfigManagerProxyPropertyNotInitializedException
- if the execution groups could not be determined because
up-to-date information on the broker has not yet been supplied.AttributeConstants
public MessageFlowProxy getMessageFlow(java.util.Properties props) throws ConfigManagerProxyPropertyNotInitializedException
props
- Filter to select the MessageFlowProxy
Each key is an attribute name of the required object
and each value is the required value of the attribute. A null or
empty Properties object will match an arbitrary message flow
deployed to this execution group.
ConfigManagerProxyPropertyNotInitializedException
- if the execution groups could not be determined because
up-to-date information on the broker has not yet been supplied.public MessageFlowProxy getMessageFlowByName(java.lang.String messageFlowName) throws ConfigManagerProxyPropertyNotInitializedException
messageFlowName
- Name of the message flow to look up
ConfigManagerProxyPropertyNotInitializedException
- if the list of available flows could not be determined
because the Configuration Manager did not supply the execution group
information to the Configuration Manager Proxy before a timeout occurred.public void startMessageFlows() throws ConfigManagerProxyLoggedException
If this method is called before the execution group has been successfully deployed to the broker, a ConfigManagerProxyLoggedException will be thrown. In order to deploy the execution group, use one of the deploy() methods. Checking that isDeployed() returns true prior to this method will ensure that the execution group has been successfully deployed.
ConfigManagerProxyLoggedException
- if the
Configuration Manager has not yet received a confirmation
from the broker that the execution group has been
successfully deployed.
A ConfigManagerProxyLoggedException will also
be thrown if there were communication problems with the
Configuration Manager.public void stopMessageFlows(boolean immediate) throws ConfigManagerProxyLoggedException
If this method is called before the execution group has been successfully deployed to the broker, a ConfigManagerProxyLoggedException will be thrown. In order to deploy the execution group, use one of the deploy() methods. Checking that isDeployed() returns true prior to this method will ensure that the execution group has been successfully deployed.
immediate
- True if and only if the 'immediate' flag
is to be used.
ConfigManagerProxyLoggedException
- if the
Configuration Manager has not yet received a confirmation
from the broker that the execution group has been
successfully deployed.
A ConfigManagerProxyLoggedException will also
be thrown if there were communication problems with the
Configuration Manager.public java.util.Enumeration getMessageSets() throws ConfigManagerProxyPropertyNotInitializedException
This method is the same as calling getDeployedObjects("dictionary").
ConfigManagerProxyPropertyNotInitializedException
- if the message sets could not be determined because
up-to-date information on the execution group has not yet
been supplied.public int getProcessorArchitecture() throws ConfigManagerProxyPropertyNotInitializedException
If the Configuration Manager to which this Configuration Manager Proxy is connected is of a version earlier than V6 Fixpack 01, all execution groups will be reported as 32-bit.
ConfigManagerProxyPropertyNotInitializedException
- if the processor architecture information was not supplied
by the Configuration Manager before a timeout occurred.public DeployedObject getDeployedObjectByName(java.lang.String filename) throws ConfigManagerProxyPropertyNotInitializedException
If there is more than one dependency that matches the supplied filter, an arbitrary (unspecified) match is returned.
This method discovers deployed objects that are required by message flows in order to run (e.g. message sets). In order to discover message flows themselves, use getMessageFlowByName() instead.
filename
- A non-null value means to return
the object with the supplied name. A null value will return
an arbitrary object deployed to this execution group.
ConfigManagerProxyPropertyNotInitializedException
- if the message sets could not be determined because
up-to-date information on the execution group has not yet
been supplied.public java.util.Enumeration<DeployedObject> getMessageFlowDependencies() throws ConfigManagerProxyPropertyNotInitializedException
This method discovers deployed objects that are required by message flows in order to run (e.g. message sets). In order to discover everything deployed to this execution group (i.e. including message flows themselves), use getDeployedObjects() instead.
ConfigManagerProxyPropertyNotInitializedException
- if the message sets could not be determined because
up-to-date information on the execution group has not yet
been supplied.public java.util.Enumeration getDeployedObjects() throws ConfigManagerProxyPropertyNotInitializedException
This method discovers all objects deployed on the execution group, including message flows, message sets and others.
ConfigManagerProxyPropertyNotInitializedException
- if the message sets could not be determined because
up-to-date information on the execution group has not yet
been supplied.public java.util.Enumeration<DeployedObject> getDeployedObjects(java.lang.String fileExtension) throws ConfigManagerProxyPropertyNotInitializedException
fileExtension
- A non-null value means to filter
the results so only those dependencies with the supplied
file extension are returned. A null value will return
all dependencies deployed to this execution group.
ConfigManagerProxyPropertyNotInitializedException
- if the deployed objects could not be determined because
up-to-date information on the execution group has not yet
been supplied.public int getDeployedObjectsCount(java.lang.String name) throws ConfigManagerProxyPropertyNotInitializedException
name
- Name of the object to match
ConfigManagerProxyPropertyNotInitializedException
- if the deployed object's listpublic DeployedObject getDeployedObjectFromSubcomponentString(java.lang.String subcomponentString)
subcomponentString
- String representation of a subcomponent
public void setUserTrace(MessageFlowProxy.UserTrace newTrace) throws ConfigManagerProxyLoggedException, ConfigManagerProxyPropertyNotInitializedException
newTrace
- One of:
ConfigManagerProxyLoggedException
- if the request could not be
sent to the Configuration Manager.
ConfigManagerProxyPropertyNotInitializedException
- if the
list of message flows could not be determined because the information
was not supplied from the Configuration Manager before a timeout
occurred.public boolean isRunning() throws ConfigManagerProxyPropertyNotInitializedException
ConfigManagerProxyPropertyNotInitializedException
- -
if, due to the administered object not having
been updated by the Configuration Manager yet,
the value of the run state is unknown.public DeployResult deploy(java.lang.String barFileName, boolean isIncremental, long timeToWaitMs) throws ConfigManagerProxyLoggedException, java.io.IOException
If the connected Configuration Manager is of at least version 6, the supplied filename will be used as the return value from getBARFileName() for any DeployedObject instances that result from this deploy operation.
barFileName
- - Path and file name of the BAR file,
relative to the current directory.isIncremental
- If true, the contents of the BAR
file will add or modify what has already been
deployed on the execution group.
If false, the contents of the execution group will
be completely cleared before deployment (also known
as a "complete" deploy).timeToWaitMs
- A positive value describes the
maximum length of time to wait for broker responses
(in milliseconds) before returning the DeployResult.
Alternatively:
ConfigManagerProxyLoggedException
- if the BAR file
could not be sent to the Configuration Manager.
java.io.FileNotFoundException
- if the file could
not be found
java.io.IOException
- if the file could not be closed.
In this case the deployment may have succeeded.public DeployResult deploy(java.io.InputStream barStream, java.lang.String barFileLabel, boolean isIncremental, long timeToWaitMs) throws ConfigManagerProxyLoggedException
barStream
- InputStream containing the BAR file
contents. The first byte read by the stream must be the
first byte of the BAR file's contents.barFileLabel
- the name of the BAR file being
deployed. Every DeployedObject that results from
this deployment will return this value (which may be null)
from the getBARFileName() method. Setting the parameter
will have no effect if the connected Configuration Manager
is of a version earlier than v6.isIncremental
- If true, the contents of the BAR
file will add or modify what has already been
deployed on the execution group.
If false, the contents of the execution group will
be completely cleared before deployment (also known
as a "complete" deploy).timeToWaitMs
- A positive value describes the
maximum length of time to wait for broker responses
(in milliseconds) before returning the DeployResult.
Alternatively:
ConfigManagerProxyLoggedException
- if the BAR file
could not be sent to the Configuration Manager.public void deploy(java.lang.String barFileName) throws ConfigManagerProxyLoggedException, java.io.IOException
If the connected Configuration Manager is of at least version 6, the supplied filename will be used as the return value from getBARFileName() for any DeployedObject instances that result from this deploy operation.
barFileName
- Path and file name of the BAR file,
relative to the current directory.
ConfigManagerProxyLoggedException
- if the BAR file
could not be sent to the Configuration Manager.
java.io.FileNotFoundException
- if the file could
not be found
java.io.IOException
- if the file could not be closed.
In this case the deployment may have succeeded.public void deploy(java.io.InputStream barStream) throws ConfigManagerProxyLoggedException
barStream
- InputStream containing the BAR file contents.
The first byte read by the stream must be the
first byte of the BAR file's contents.
ConfigManagerProxyLoggedException
- if the BAR file
could not be sent to the Configuration Manager.public DeployResult deleteDeployedObjects(DeployedObject[] forDeletion, long timeToWaitMs) throws ConfigManagerProxyLoggedException
Note: This method causes information to be deployed to the broker and so calls to this method should be minimized. For example, should multiple objects require removal from the execution group, it is preferable to pass in all objects in a single call to this method rather than have this method called once for each object.
forDeletion
- representing the DeployedObject objects
that require deletion (e.g. message flows, message sets).
If the value is null or empty, this method does nothing.
If an element in the array is null, the element is ignored.timeToWaitMs
- A positive value describes the
maximum length of time to wait for broker responses
(in milliseconds) before returning the DeployResult.
Alternatively:
ConfigManagerProxyLoggedException
- if the request could
not be sent to the Configuration Managerpublic DeployResult deleteDeployedObjectsByName(java.lang.String[] forDeletion, long timeToWaitMs) throws ConfigManagerProxyLoggedException, ConfigManagerProxyPropertyNotInitializedException
Note: This method causes information to be deployed to the broker and so calls to this method should be minimized. For example, should multiple objects require removal from the execution group, it is preferable to pass in all objects in a single call to this method rather than have this method called once for each object.
It is acceptable to remove objects of different types in the same request. It is the caller's responsibility to ensure that the supplied names refer to exactly one object deployed in the execution group. If a deployed object with the supplied name cannot be found, that element of the array is ignored and no exception is thrown. If an ambiguous String is supplied (e.g. "doc1" when "doc1.xsl" and "doc1.dictionary" are both deployed) then the call will fail with ConfigManagerProxyLoggedException.
forDeletion
- An array of Strings, with each element
being the name (e.g. "mf1") or fullname (e.g. "mf1.cmf")
of an object that is to be removed from the execution group.
If the array is null or empty, this method does nothing.
If an element in the array is null, the element is ignored.timeToWaitMs
- A positive value describes the
maximum length of time to wait for broker responses
(in milliseconds) before returning the DeployResult.
Alternatively:
ConfigManagerProxyLoggedException
- if the request could
not be sent to the Configuration Manager, or if at least one
supplied name is ambiguous.
ConfigManagerProxyPropertyNotInitializedException
- if
the deployed objects could not be discovered because the
required information was not received from the Configuration
Manager before a timeout occurred.public static java.util.Properties withUUID(java.lang.String uuid)
public static java.util.Properties withName(java.lang.String name)
public ConfigurationObjectType getConfigurationObjectType()
getConfigurationObjectType
in class AdministeredObject
public ConfigurationObjectType getConfigurationObjectTypeOfParent()
getConfigurationObjectTypeOfParent
in class AdministeredObject
public AccessControlEntry[] getAccessControlEntries()
This method does not return details of permissions that have been implicitly granted by inherited access control entries.
ConfigManagerProxyPropertyNotInitializedException
- if this objects list of Access Control Entries was not supplied by the
Configuration Manager before a timeout occurred.public void setAccessControlEntries(AccessControlEntry[] accessControlList) throws ConfigManagerProxyLoggedException
This method submits only changed access control entries to the Configuration Manager. It converts the supplied array into a set of access control entries to add and a set of access control entries to remove, based on the information currently supplied from the Configuration Manager. The add and remove operations are processed separately by the Configuration Manager as two atomic, transactional requests.
If the Configuration Manager to which the Configuration Manager Proxy is connected is of a version less than v6, this method will have no effect.
accessControlList
- Array of access control entries which are to apply to this
object.
ConfigManagerProxyLoggedException
- if the request to update the object could
not be sent to the Configuration Manager.
ConfigManagerProxyPropertyNotInitializedException
- if this objects current list of Access Control Entries was not supplied by the
Configuration Manager before a timeout occurred.public void addAccessControlEntries(AccessControlEntry[] accessControlList) throws ConfigManagerProxyLoggedException
This operation is completely transactional. If the Configuration Manager successfully processes this request, all access control entries from the supplied array will be associated with this administered object. If not, the access control list for this object will have not been modified.
If the Configuration Manager to which the Configuration Manager Proxy is connected is of a version less than v6, this method will have no effect.
accessControlList
- Array of access control entries which are to be added to this
object.
ConfigManagerProxyLoggedException
ConfigManagerProxyLoggedException
- if the request to update the object could
not be sent to the Configuration Manager.public void removeAccessControlEntries(AccessControlEntry[] accessControlList) throws ConfigManagerProxyLoggedException
This operation is completely transactional. If the Configuration Manager successfully processes this request, no access control entries from the supplied array will be associated with this administered object. If not, the access control list for this object will have not been modified.
If the Configuration Manager to which the Configuration Manager Proxy is connected is of a version less than v6, this method will have no effect.
accessControlList
- Array of access control entries which are to be removed from this
object.
ConfigManagerProxyLoggedException
- if the request to update the object could
not be sent to the Configuration Manager.public void setRuntimeProperty(java.lang.String objectAndPropertyName, java.lang.String propertyValue) throws ConfigManagerProxyLoggedException
To set runtime properties that affect the broker, use BrokerProxy.setRuntimeProperty(). To set runtime properties that affect the broker's HTTP listener, use BrokerProxy.setHTTPListenerProperty(). To set runtime properties for a broker's configurable service, use BrokerProxy.setConfigurableServiceProperty().
After calling this method, getParent().deploy() needs to be called in order to deploy the changed configuration to the broker. It is possible to change multiple runtime properties and invoke the deployment just once at the end.
Constants exist for many common objectAndPropertyName values in the RuntimePropertyConstants interface, and you should use these wherever possible. To set properties that are not defined in this interface, the objectAndPropertyName parameter can also be made up of a String of the form "ObjectName/PropertyName", where ObjectName and PropertyName are the object and property names supplied on the -o and -n parameters* of mqsichangeproperties. For example, "DynamicSubscriptionEngine/userTraceLevel" would request a change to the execution group's user trace level property. The '/' separator is defined as RuntimePropertyConstants.OBJECT_NAME_DELIMITER.
The list of currently defined property names can be obtained using the method getRuntimePropertyNames(). However, not all runtime properties returned by this method can be set.
objectAndPropertyName
- The complete object and property name of the
property being manipulatedpropertyValue
- The new value to associate with the property
ConfigManagerProxyLoggedException
- if the request could not be
sent to the Configuration Manager.public java.lang.String[] getRuntimePropertyNames()
public java.lang.String getRuntimeProperty(java.lang.String objectAndpropertyName) throws ConfigManagerProxyPropertyNotInitializedException
If you wish to directly look up a specific named property, use constants defined in the RuntimePropertyConstants interface wherever possible. If a constant does not exist, the objectAndpropertyName parameter can be made up of a String of the form "ObjectName/PropertyName", where ObjectName and PropertyName are the object and property names supplied on the -o and -n parameters respectively of mqsireportproperties. The '/' separator is defined as RuntimePropertyConstants.OBJECT_NAME_DELIMITER.
objectAndpropertyName
- The name of the property to be reported
ConfigManagerProxyPropertyNotInitializedException
- if
the information could not be determined because the Config
Manager has not yet supplied it.public java.lang.String[] getQueues() throws ConfigManagerProxyPropertyNotInitializedException
This method works by aggregating the responses from calling the MessageFlowProxy.getQueues() method for each message flow that is currently deployed to the execution group.
This method will return an empty array if the connected Configuration Manager is of a version less than v6.1. Any message flows deployed through a Configuration Manager of a version earlier than v6.1 will not report any queues.
ConfigManagerProxyPropertyNotInitializedException
- if the information has not
yet been supplied by the Configuration manager.public java.lang.String[] getNodeTypes() throws ConfigManagerProxyPropertyNotInitializedException
This method works by aggregating the responses from calling the MessageFlowProxy.getNodeTypes() method for each message flow that is currently deployed to the execution group.
This method will return an empty array if the connected Configuration Manager is of a version less than v6.1, or if the message flow was deployed through a Configuration Manager of a version earlier than v6.1.
ConfigManagerProxyPropertyNotInitializedException
- if the information has not
yet been supplied by the Configuration manager.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |