java.lang.Object com.ibm.broker.config.proxy.AdministeredObject com.ibm.broker.config.proxy.ExecutionGroupProxy
public class ExecutionGroupProxy
extends AdministeredObject
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
Method | Description |
---|---|
DeployResult deleteDeployedObjects(DeployedObject[], long) | Asks the Configuration Manager to remove deployed objects from the execution group. |
DeployResult deleteDeployedObjectsByName(String[], long) | Asks the Configuration Manager to remove deployed objects from the execution group. |
void deploy(InputStream) | Starts an incremental deploy of the BAR file pointed to by the supplied filename, to the execution group. |
DeployResult deploy(InputStream, String, boolean, long) | Starts a deploy of the BAR file pointed to by the supplied filename, to the execution group. |
void deploy(String) | Starts an incremental deploy of the BAR file pointed to by the supplied filename, to the execution group. |
DeployResult deploy(String, boolean, long) | Starts a deploy of the BAR file pointed to by the supplied filename, to the execution group. |
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(String) | Returns a message flow dependency with the supplied name (e.g. |
DeployedObject getDeployedObjectFromSubcomponentString(String) | 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. |
Enumeration getDeployedObjects() | Returns an Enumeration of all the objects deployed to the current execution group. |
Enumeration getDeployedObjects(String) | Returns an enumeration of all the deployed objects with the supplied extension that are deployed to the current execution group. |
int getDeployedObjectsCount(String) | Returns the number of deployed objects that match the supplied name. |
Enumeration getManagedSubcomponents(Properties) | Returns an Enumeration of MessageFlowProxy objects that match the supplied filter. |
Enumeration getManagedSubcomponents(Properties, boolean) | Returns an Enumeration of MessageFlowProxy objects, or an Enumeration of Strings representing MessageFlowProxy objects, that match the supplied filter. |
MessageFlowProxy getMessageFlow(Properties) | Returns the first MessageflowProxy object that matches the filter specified by the Properties argument. |
MessageFlowProxy getMessageFlowByName(String) | 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. |
Enumeration getMessageFlowDependencies() | Returns an Enumeration of all the dependencies deployed to the current execution group. |
Enumeration getMessageFlows(Properties) | Returns an enumeration of all the MessageFlowProxy objects that match the filter specified by the Properties argument. |
Enumeration getMessageSets() | Returns an Enumeration of all the Message Sets deployed to the current execution group. |
int getProcessorArchitecture() | This method is reserved for future use; do not call it. |
boolean isRunning() | Returns true if and only if the execution group is running. |
void setUserTrace(MessageFlowProxy.UserTrace) | 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) | Invokes the stopMessageFlows() method for each Message Flow within the execution group's control. |
Properties withName(String) | 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. |
Properties withUUID(String) | 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. |
public DeployResult deleteDeployedObjects(DeployedObject[] forDeletion, long timeToWaitMs) throws ConfigManagerProxyLoggedExceptionAsks the Configuration Manager to remove deployed objects from the execution group.
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.
- Parameters
- 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:
- A value of 0 causes the method to return immediately after the message has been successfully sent to the Configuration Manager.
- A value of AttributeConstants.DEPLOYRESULT_SUPPRESSION causes the method to return null immediately after the message has been successfully sent to the Configuration Manager. DeployResult objects are relatively expensive to create and maintain, and so supplying this constant should be used if the DeployResult is not parsed, or if performance of the Configuration Manager Proxy application is critical.
- A value of AttributeConstants.DEPLOYRESULT_WAIT_INDEFINITELY causes the method to wait until the response has been received from the broker affected by the deploy.
- If batch mode is enabled the method returns immediately regardless of the value of this parameter. All completion codes in the returned DeployResult object will be 'pending' unless the value of timeToWaitMs is AttributeConstants.DEPLOYRESULT_SUPPRESSION, in which case the DeployResult will be null (as usual).
- Throws
ConfigManagerProxyLoggedException
if the request could not be sent to the Configuration Manager
public DeployResult deleteDeployedObjectsByName(String[] forDeletion, long timeToWaitMs) throws ConfigManagerProxyLoggedException, ConfigManagerProxyPropertyNotInitializedExceptionAsks the Configuration Manager to remove deployed objects from the execution group.
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.
- Parameters
- 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:
- A value of 0 causes the method to return immediately after the message has been successfully sent to the Configuration Manager.
- A value of AttributeConstants.DEPLOYRESULT_SUPPRESSION causes the method to return null immediately after the message has been successfully sent to the Configuration Manager. DeployResult objects are relatively expensive to create and maintain, and so supplying this constant should be used if the DeployResult is not parsed, or if performance of the Configuration Manager Proxy application is critical.
- A value of AttributeConstants.DEPLOYRESULT_WAIT_INDEFINITELY causes the method to wait until the response has been received from the broker affected by the deploy.
- If batch mode is enabled the method returns immediately regardless of the value of this parameter. All completion codes in the returned DeployResult object will be 'pending' unless the value of timeToWaitMs is AttributeConstants.DEPLOYRESULT_SUPPRESSION, in which case the DeployResult will be null (as usual).
- Throws
ConfigManagerProxyLoggedException
if the request could not be sent to the Configuration Manager, or if at least one supplied name is ambiguous.- Throws
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 void deploy(InputStream barStream) throws ConfigManagerProxyLoggedExceptionStarts an incremental deploy of the BAR file pointed to by the supplied filename, to the execution group. The method reads the contents of the file, enqueues the deployment message for the Configuration Manager and then immediately returns. The name of the BAR file will not be available to any DeployedObject objects that result from this deployment.
- Parameters
- barStream - InputStream containing the BAR file.
- Throws
ConfigManagerProxyLoggedException
if the BAR file could not be sent to the Configuration Manager.
public DeployResult deploy(InputStream barStream, String barFileLabel, boolean isIncremental, long timeToWaitMs) throws ConfigManagerProxyLoggedExceptionStarts a deploy of the BAR file pointed to by the supplied filename, to the execution group.
- Parameters
- barStream - InputStream containing the BAR file.
- 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:
- A value of 0 causes the method to return immediately after the message has been successfully sent to the Configuration Manager.
- A value of AttributeConstants.DEPLOYRESULT_SUPPRESSION causes the method to return null immediately after the message has been successfully sent to the Configuration Manager. DeployResult objects are relatively expensive to create and maintain, and so supplying this constant should be used if the DeployResult is not parsed, or if performance of the Configuration Manager Proxy application is critical.
- A value of AttributeConstants.DEPLOYRESULT_WAIT_INDEFINITELY causes the method to wait until responses have been received from all brokers affected by the deploy.
- If batch mode is enabled the method returns immediately regardless of the value of this parameter. All completion codes in the returned DeployResult object will be 'pending' unless the value of timeToWaitMs is AttributeConstants.DEPLOYRESULT_SUPPRESSION, in which case the DeployResult will be null (as usual).
- Returns
- DeployResult object that can be used to query the results of the deployment.
- Throws
ConfigManagerProxyLoggedException
if the BAR file could not be sent to the Configuration Manager.
public void deploy(String barFileName) throws ConfigManagerProxyLoggedException, IOExceptionStarts an incremental deploy of the BAR file pointed to by the supplied filename, to the execution group. The method reads the contents of the file, enqueues the deployment message for the Configuration Manager and then immediately returns.
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.
- Parameters
- barFileName - Path and file name of the BAR file, relative to the current directory.
- Throws
ConfigManagerProxyLoggedException
if the BAR file could not be sent to the Configuration Manager.- Throws
FileNotFoundException
if the file could not be found- Throws
IOException
if the file could not be closed. In this case the deployment may have succeeded.
public DeployResult deploy(String barFileName, boolean isIncremental, long timeToWaitMs) throws ConfigManagerProxyLoggedException, IOExceptionStarts a deploy of the BAR file pointed to by the supplied filename, to the execution group.
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.
- Parameters
- 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:
- A value of 0 causes the method to return immediately after the message has been successfully sent to the Configuration Manager.
- A value of AttributeConstants.DEPLOYRESULT_SUPPRESSION causes the method to return null immediately after the message has been successfully sent to the Configuration Manager. DeployResult objects are relatively expensive to create and maintain, and so supplying this constant should be used if the DeployResult is not parsed, or if performance of the Configuration Manager Proxy application is critical.
- A value of AttributeConstants.DEPLOYRESULT_WAIT_INDEFINITELY causes the method to wait until responses have been received from all brokers affected by the deploy.
- If batch mode is enabled the method returns immediately regardless of the value of this parameter. All completion codes in the returned DeployResult object will be 'pending' unless the value of timeToWaitMs is AttributeConstants.DEPLOYRESULT_SUPPRESSION, in which case the DeployResult will be null (as usual).
- Returns
- DeployResult object that can be used to query the results of the deployment.
- Throws
ConfigManagerProxyLoggedException
if the BAR file could not be sent to the Configuration Manager.- Throws
FileNotFoundException
if the file could not be found- Throws
IOException
if the file could not be closed. In this case the deployment may have succeeded.
public ConfigurationObjectType getConfigurationObjectType()Returns the ConfigurationObjectType associated with this AdministeredObject type.
- Returns
- ConfigurationObjectType associated with this class.
- Overrides
public ConfigurationObjectType getConfigurationObjectTypeOfParent()Returns the ConfigurationObjectType associated with the logical parent of this AdministeredObject type.
- Returns
- ConfigurationObjectType associated with the logical parent of this class.
- Overrides
public DeployedObject getDeployedObjectByName(String filename) throws ConfigManagerProxyPropertyNotInitializedExceptionReturns a message flow dependency with the supplied name (e.g. "mset1") or fullname (e.g. "mset1.dictionary") that is deployed to the current execution group.
If there is more than one dependency that matches the supplied filter, an arbitrary (non-deterministic) 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.
- Parameters
- filename - A non-null value means to return the dependency with the supplied name. A null value will return an arbitrary dependency of this execution group.
- Returns
- MessageFlowDependency the matched dependency, or null if and only if a match could not be found.
- Throws
ConfigManagerProxyPropertyNotInitializedException
if the message sets could not be determined because up-to-date information on the execution group has not yet been supplied.
public DeployedObject getDeployedObjectFromSubcomponentString(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. Otherwise, this method returns null.
- Parameters
- subcomponentString - String representation of a subcomponent
- Returns
- DeployedObject describing the object, or null if the string did not represent a deployable object.
public Enumeration getDeployedObjects() throws ConfigManagerProxyPropertyNotInitializedExceptionReturns an Enumeration of all the objects deployed to the current execution group. This method is the same as calling getDeployedObjects(null).
This method discovers all objects deployed on the execution group, including message flows, message sets and others.
- Returns
- Enumeration Containing MessageFlowDependency objects representing all dependencies deployed to this execution group.
- Throws
ConfigManagerProxyPropertyNotInitializedException
if the message sets could not be determined because up-to-date information on the execution group has not yet been supplied.
public Enumeration getDeployedObjects(String fileExtension) throws ConfigManagerProxyPropertyNotInitializedExceptionReturns an enumeration of all the deployed objects with the supplied extension that are deployed to the current execution group. The enumeration will have no elements if no matching objects are deployed.
- Parameters
- 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.
- Returns
- Enumeration Containing DeployedObject objects
- Throws
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(String name) throws ConfigManagerProxyPropertyNotInitializedExceptionReturns the number of deployed objects that match the supplied name. Use this method before calling deleteDeployedObjectsByName() to ensure that the object being deleted is not ambiguously specified; a value greater than one means that the name requires greater precision. To avoid potential errors, always specify deployed objects for deletion with their correct file extension; for example, "flow1.cmf" rather than "flow".
- Parameters
- name -
- Returns
- int number of objects deployed to this execution group that match the supplied criterion.
- Throws
ConfigManagerProxyPropertyNotInitializedException
if the deployed object's list
public Enumeration getManagedSubcomponents(Properties filter) throws ConfigManagerProxyPropertyNotInitializedExceptionReturns an Enumeration of MessageFlowProxy objects that match the supplied filter.
- Parameters
- filter - Filter to narrow down the search. throws ConfigManagerProxyPropertyNotInitializedException if the execution groups could not be determined because up-to-date information on the broker has not yet been supplied.
- Overrides
public Enumeration getManagedSubcomponents(Properties filter, boolean returnContainsStrings) throws ConfigManagerProxyPropertyNotInitializedExceptionReturns an Enumeration of MessageFlowProxy objects, or an Enumeration of Strings representing MessageFlowProxy objects, that match the supplied filter.
- Parameters
- filter - Filter to narrow down the search.
- returnContainsStrings - true only if the returned enumeration should contain Strings. Set this flag avoids creating relatively expensive AdministeredObject instance unless they are actually required.
- Throws
ConfigManagerProxyPropertyNotInitializedException
if the execution groups could not be determined because up-to-date information on the broker has not yet been supplied.- Overrides
public MessageFlowProxy getMessageFlow(Properties props) throws ConfigManagerProxyPropertyNotInitializedExceptionReturns the first MessageflowProxy object that matches the filter specified by the Properties argument. If multiple message flows match the supplied filter, an arbitrary match is returned.
- Parameters
- props - Filter to select the MessageFlowProxy
- Returns
- MessageFlowProxy The first object that matched the supplied filter, or null if no objects matched.
- Throws
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(String messageFlowName) throws ConfigManagerProxyPropertyNotInitializedExceptionReturns 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.
- Parameters
- messageFlowName -
- Returns
- MessageFlowProxy Configuration Manager Proxy representation of the requested message flow.
- Throws
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 Enumeration getMessageFlowDependencies() throws ConfigManagerProxyPropertyNotInitializedExceptionReturns an Enumeration of all the dependencies deployed to the current execution group.
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.
- Returns
- Enumeration Containing DeployedObject objects representing all dependencies deployed to this execution group.
- Throws
ConfigManagerProxyPropertyNotInitializedException
if the message sets could not be determined because up-to-date information on the execution group has not yet been supplied.
public Enumeration getMessageFlows(Properties filter) throws ConfigManagerProxyPropertyNotInitializedExceptionReturns an enumeration of all the MessageFlowProxy objects that match the filter specified by the Properties argument.
- Parameters
- filter - Filter to select which message flows to return.
- Returns
- Enumeration The MessageFlowProxy objects that matched the supplied filter.
- Throws
ConfigManagerProxyPropertyNotInitializedException
if the execution groups could not be determined because up-to-date information on the broker has not yet been supplied.
public Enumeration getMessageSets() throws ConfigManagerProxyPropertyNotInitializedExceptionReturns an Enumeration of all the Message Sets deployed to the current execution group. The enumeration will have no elements if no message sets are deployed.
This method is the same as calling getMessageFlowDependencies("dictionary").
- Returns
- Enumeration Containing MessageFlowDependency objects representing message sets.
- Throws
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 ConfigManagerProxyPropertyNotInitializedExceptionThis method is reserved for future use; do not call it.
- Returns
- int
- Throws
public boolean isRunning() throws ConfigManagerProxyPropertyNotInitializedExceptionReturns true if and only if the execution group is running.
- Returns
- boolean True if and only if the attribute OBJECT_RUNSTATE_RUNNING is "running".
- Throws
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 void setUserTrace(MessageFlowProxy.UserTrace newTrace) throws ConfigManagerProxyLoggedException, ConfigManagerProxyPropertyNotInitializedExceptionConfigures the user trace settings for every deployed message flow under the execution group's control.
- Parameters
- newTrace - One of:
- MessageFlowProxy.UserTrace.normal to enable normal user trace
- MessageFlowProxy.UserTrace.debug to enable debug user trace
- MessageFlowProxy.UserTrace.none to disable user trace
- Throws
ConfigManagerProxyLoggedException
if the request could not be sent to the Configuration Manager.- Throws
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 void startMessageFlows() throws ConfigManagerProxyLoggedExceptionAsks the broker to start all message flows in the deployed execution group.
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.
- Throws
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 ConfigManagerProxyLoggedExceptionInvokes the stopMessageFlows() method for each Message Flow within the execution group's control.
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.
- Parameters
- immediate - True if and only if the 'immediate' flag is to be used.
- Throws
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 static Properties withName(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. This provides an easy way of supplying filters to the get*() calls. For example, broker1.getManagedSubcomponent(ExecutionGroup.withName("eg1")); will return the execution group with Name "eg1" that exists in broker1.
- Returns
- java.util.Properties - a new Properties object with the relevant key/value pairs set.
public static Properties withUUID(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. This provides an easy way of supplying filters to the get*() calls. For example, broker1.getExecutionGroup(ExecutionGroup.withUUID("1234")); will return the execution group with UUID "1234" that exists in broker1.
- Returns
- java.util.Properties - a new Properties object with the relevant key/value pairs set.