com.ibm.broker.config.proxy
Class TopologyProxy

java.lang.Object
  extended by com.ibm.broker.config.proxy.AdministeredObject
      extended by com.ibm.broker.config.proxy.TopologyProxy

public class TopologyProxy
extends AdministeredObject

There is exactly one Topology associated with each Configuration Manager, and this is referenced by the TopologyProxy object.

In order to use TopologyProxy objects, applications must first obtain handles to them. Here is an example of how to do this:

     ConfigManagerConnectionParameters cmcp =
         new MQConfigManagerConnectionParameters("localhost", 1414, "QMGR");
     ConfigManagerProxy cmp = ConfigManagerProxy.getInstance(cmcp);
     TopologyProxy t = cmp.getTopology();
 

com.ibm.broker.config.proxy.TopologyProxy extends com.ibm.broker.config.proxy.AdministeredObject

Responsibilities Represents a container for all Brokers and the links between them.
Internal Collaborators com.ibm.broker.config.proxy.BrokerProxy
com.ibm.broker.config.proxy.CollectiveProxy
 
 Change Activity:
 --------- ----------- ------------- ------------------------------------
 Reason:   Date:       Originator:   Comments:
 --------- ----------- ------------- ------------------------------------
 f25103.7  2004-03-18  HDMPL         v6 Release
 f44739.7  2007-07-30  HDMPL         v6.1 release:
                                         Methods now return genericized types where relevant
                                         Added adoptBroker(String, String, String)
 
 

Version:
Config/com/ibm/broker/config/proxy/TopologyProxy.java, CMP, S000 1.64

Nested Class Summary
static class TopologyProxy.Connection
          A small data structure representing a connection between two brokers in the topology.
 
Method Summary
 void addAccessControlEntries(AccessControlEntry[] accessControlList)
          Adds this list to the list of access control entries that applies to this object.
 BrokerProxy adoptBroker(java.lang.String brokerName, java.lang.String brokerQmgr, java.lang.String brokerUUID)
          Asks the Configuration Manager to attempt to take ownership of a running broker that is currently assigned to either a different Configuration Manager or a Configuration Manager that is no longer accessible.
 BrokerProxy createBroker(java.lang.String name, java.lang.String qmgr)
          Asks the Configuration Manager to add a broker with the supplied name and queue manager to the Topology workspace.
 CollectiveProxy createCollective(java.lang.String name)
          Asks the Configuration Manager to create a collective with the supplied name.
 void createConnectionByName(java.lang.String sourceName, java.lang.String targetName)
          Asks the Configuration Manager to create a publish/subscribe connection between two brokers.
 void createConnectionByUUID(java.lang.String sourceUUID, java.lang.String targetUUID)
          Asks the Configuration Manager to create a publish/subscribe connection between two brokers by UUID.
 void deleteBroker(java.lang.String name)
          Asks the Configuration Manager to remove the broker with the supplied name from the Topology workspace.
 DeployResult deleteBroker(java.lang.String name, long timeToWaitMs)
          Asks the Configuration Manager to remove the broker with the supplied name from the Topology workspace.
 void deleteCollective(java.lang.String name)
          Asks the Configuration Manager to remove the collective with the supplied name from the Topology workspace.
 void deleteConnectionByName(java.lang.String sourceName, java.lang.String targetName)
          Asks the Configuration Manager to remove a logical connection between two brokers.
 void deleteConnectionByUUID(java.lang.String sourceUUID, java.lang.String targetUUID)
          Asks the Configuration Manager to remove a logical connection between two brokers.
 void deploy()
          Deploys any changes made to the pub/sub topology since the last pub/sub topology deploy to the affected brokers.
 void deploy(boolean isDelta)
          Deploys the pub/sub topology configuration to brokers.
 DeployResult deploy(boolean isDelta, long timeToWaitMs)
          Deploys the pub/sub topology configuration to brokers.
 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.
 BrokerProxy getBroker(java.util.Properties props)
          Returns the first BrokerProxy object that matches the filter specified by the Properties argument.
 BrokerProxy getBrokerByName(java.lang.String brokerName)
          Returns the BrokerProxy object with the supplied name, or null if a broker of that name does not exist or if the supplied argument was null.
 java.util.Enumeration<BrokerProxy> getBrokers(java.util.Properties props)
          Returns an enumeration of all the BrokerProxy objects that match the filter specified by the Properties argument.
 CollectiveProxy getCollective(java.util.Properties props)
          Returns the first CollectiveProxy object that matches the filter specified by the Properties argument.
 CollectiveProxy getCollectiveByName(java.lang.String collectiveName)
          Returns the CollectiveProxy object with the supplied name, or null if a collective of that name does not exist or if the supplied argument was null.
 java.util.Enumeration<CollectiveProxy> getCollectives(java.util.Properties props)
          Returns an enumeration of all the CollectiveProxy objects that match the filter specified by the Properties argument.
 ConfigurationObjectType getConfigurationObjectType()
          Returns the ConfigurationObjectType associated with this AdministeredObject type.
 ConfigurationObjectType getConfigurationObjectTypeOfParent()
          Returns the ConfigurationObjectType associated with the logical parent of this AdministeredObject type.
 java.util.Enumeration<TopologyProxy.Connection> getConnections()
          Returns an enumeration of all TopologyProxy.Connection objects.
 java.util.Enumeration<TopologyProxy.Connection> getConnections(java.lang.String brokerUUID)
          Returns an enumeration of TopologyProxy.Connection objects that affect the broker with the supplied UUID
 int getNumberOfConnections()
          Returns the number of Connection objects in the topology.
 int getNumberOfConnections(java.lang.String brokerUUID)
          Returns the number of Connection objects in the topology, or that involve the broker with the supplied UUID.
 void removeAccessControlEntries(AccessControlEntry[] accessControlList)
          Deletes this list from the list of access control entries that applies to this object.
 void removeDeletedBroker(java.lang.String nameOrUUID)
          Asks the Configuration Manager to remove all references to the broker with the supplied name or UUID from the Configuration Manager repository.
 void setAccessControlEntries(AccessControlEntry[] accessControlList)
          Sets the complete list of access control entries that apply to this object.
 java.lang.String toString()
          Displays the name of the object
 
Methods inherited from class com.ibm.broker.config.proxy.AdministeredObject
deregisterListener, deregisterListener, elements, getLastBIPMessages, getLastCompletionCode, getLastUpdateUser, getLongDescription, getManagedSubcomponent, getManagedSubcomponentFromStringRepresentation, getManagedSubcomponents, getManagedSubcomponents, getManagedSubcomponents, getManagedSubcomponents, getManagedSubcomponentsAsStrings, getManagedSubcomponentsAsStrings, getName, getNumberOfSubcomponents, getParent, getProperties, getProperty, getProperty, getProperty, getProperty, getRepositoryTimestamp, getShortDescription, getTimeOfLastCompletionCode, getTimeOfLastUpdate, getType, getUUID, hasBeenRestrictedByConfigManager, hasBeenRestrictedByConfigManager, hasBeenUpdatedByConfigManager, hasBeenUpdatedByConfigManager, isAwaitingSubmissionForCreation, isAwaitingSubmissionForDeletion, isDeployed, isShared, refresh, registerListener, registerListener, registerListener, setLongDescription, setName, setProperties, setShortDescription, toVerboseString, unsubscribeFromConfigurationManagerUpdates, withName, withUUID
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

createBroker

public BrokerProxy createBroker(java.lang.String name,
                                java.lang.String qmgr)
                         throws ConfigManagerProxyLoggedException

Asks the Configuration Manager to add a broker with the supplied name and queue manager to the Topology workspace. It is assumed that the Broker has already been created using e.g. mqsicreatebroker.

Note that a default execution group is NOT created. After using this method, callers must then create a default execution group. For example: broker.createExecutionGroup("default");

Parameters:
name - Name of the new broker.
qmgr - Queue Manager associated with the new broker.
Returns:
BrokerProxy - A BrokerProxy that represents the new broker.
Throws:
ConfigManagerProxyLoggedException - - if the request to create a broker could not be sent to the Configuration Manager.

deleteBroker

public void deleteBroker(java.lang.String name)
                  throws ConfigManagerProxyLoggedException,
                         ConfigManagerProxyPropertyNotInitializedException

Asks the Configuration Manager to remove the broker with the supplied name from the Topology workspace.

This method will, in the following order:

  1. Remove the broker from any collectives of which it is a member.
  2. Delete any connections for which the broker is the source or target.
  3. Delete any execution groups of the broker.
  4. Remove the broker from the Configuration Manager hierarchy and publish/subscribe topology.
  5. If connected to a Configuration Manager of at least version 6, a deployment operation is automatically initiated that asks the broker concerned to tidy up any resources it controls.
After a successful return from this method, you must complete the following actions in order:
  1. Call TopologyProxy.deploy() EITHER if the deleted broker was connected to other brokers in the publish/subscribe topology, OR if you are connected to a version 5 Configuration Manager.
  2. When deployment has successfully completed, delete the broker component using mqsideletebroker. You must even do this if the broker is to be recreated.

Consider using removeDeletedBroker() if the broker component has already been deleted.

Parameters:
name - Name of the broker to delete
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the broker with the supplied name could not be found because the Configuration Manager has not supplied complete topology information.
ConfigManagerProxyLoggedException - if the request to remove the broker could not be sent to the Configuration Manager.

deleteBroker

public DeployResult deleteBroker(java.lang.String name,
                                 long timeToWaitMs)
                          throws ConfigManagerProxyLoggedException,
                                 ConfigManagerProxyPropertyNotInitializedException

Asks the Configuration Manager to remove the broker with the supplied name from the Topology workspace.

This method will, in the following order:

  1. Remove the broker from any collectives of which it is a member.
  2. Delete any connections for which the broker is the source or target.
  3. Delete any execution groups of the broker.
  4. Remove the broker from the Configuration Manager hierarchy and publish/subscribe topology.
  5. If connected to a Configuration Manager of at least version 6, a deployment operation is automatically initiated that asks the broker concerned to tidy up any resources it controls, unless AttributeConstants.DEPLOYRESULT_NO_DEPLOYMENT is supplied as the value for timeToWaitMs.
After a successful return from this method, you must complete the following actions in order:
  1. Call TopologyProxy.deploy() EITHER if the deleted broker was connected to other brokers in the publish/subscribe topology, OR if you are connected to a version 5 Configuration Manager.
  2. When deployment has successfully completed, delete the broker component using mqsideletebroker. You must even do this if the broker is to be recreated.

Consider using removeDeletedBroker() if the broker component has already been deleted.

Parameters:
name - Name of the broker to delete
timeToWaitMs - A positive value describes the maximum length of time to wait for broker responses (in milliseconds) before returning the DeployResult, if applicable. 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_NO_DEPLOYMENT means that no deploy operation will be attempted after the reference has been removed from the repository. If this is the case, this method will return null and a TopologyProxy.deploy() must subsequently be invoked, in order to cleanly tidy up the broker's resources in the runtime component.
  • 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 or AttributeConstants.DEPLOYRESULT_NO_DEPLOYMENT, in which case the DeployResult will be null (as usual).
Returns:
DeployResult object that can be used to query the results of the deployment part of the operation (if applicable). The deployment will only affect the deleted broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the broker with the supplied name could not be found because the Configuration Manager has not supplied complete topology information.
ConfigManagerProxyLoggedException - if the request to remove the broker could not be sent to the Configuration Manager.

removeDeletedBroker

public void removeDeletedBroker(java.lang.String nameOrUUID)
                         throws ConfigManagerProxyLoggedException

Asks the Configuration Manager to remove all references to the broker with the supplied name or UUID from the Configuration Manager repository. The broker may or may not have been previously removed from the domain using the deleteBroker() method.

It is not usually necessary to call this method.
The recommended procedure for removing a broker is:

  1. invoke TopologyProxy.deleteBroker(), then if this is successful
  2. run mqsideletebroker on the broker machine.
Following this approach allows the broker to tidy up cleanly any resources it controls.

The removeDeletedBroker() method only exists to clean any references to the broker from the Configuration Manager repository if the broker component has been prematurely deleted. Invoking this method against a running broker will make it unmanageable from the Configuration Manager and all Configuration Manager Proxy applications, including the toolkit. If you have a BrokerProxy reference to the broker, you must discard it after calling this method.

If the connected Configuration Manager is of a version earlier than v6, this method will have the same effect as calling the standard deleteBroker(). If the broker component has already been deleted on a domain controlled by one of these Configuration Managers, you must delete the broker's SYSTEM.BROKER.ADMIN.QUEUE and then redeploy the topology in order for the reference to be tidied from the repository.

Parameters:
nameOrUUID - Name or UUID of the broker to delete
Throws:
ConfigManagerProxyLoggedException - if the request to remove the broker could not be sent to the Configuration Manager.

deploy

public void deploy()
            throws ConfigManagerProxyLoggedException
Deploys any changes made to the pub/sub topology since the last pub/sub topology deploy to the affected brokers. The method returns as soon as the deploy request is enqueued for sending to the Configuration Manager.

Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

deploy

public void deploy(boolean isDelta)
            throws ConfigManagerProxyLoggedException
Deploys the pub/sub topology configuration to brokers.

Parameters:
isDelta - If true, only changes to the deployed pub/sub topology made since the last pub/sub topology deploy will be submitted to brokers. Otherwise, the complete pub/sub topology will be deployed to all brokers. The method returns as soon as the deploy request is enqueued for sending to the Configuration Manager.
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

deploy

public DeployResult deploy(boolean isDelta,
                           long timeToWaitMs)
                    throws ConfigManagerProxyLoggedException
Deploys the pub/sub topology configuration to brokers.

Parameters:
isDelta - If the value of this parameter is true, only changes to the deployed pub/sub topology made since the last pub/sub topology deploy will be deployed: For each broker in the domain, if its neighboring brokers have not changed, the broker will not receive a deployment request and the returned DeployResult object (if the deployment is otherwise successful) will report a completion code of 'notRequired' for that broker. If the value of this parameter is false, the pub/sub topology will be deployed to all brokers regardless.
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 in the domain.
  • 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 request could not be sent to the Configuration Manager.

getBrokers

public java.util.Enumeration<BrokerProxy> getBrokers(java.util.Properties props)
                                              throws ConfigManagerProxyPropertyNotInitializedException
Returns an enumeration of all the BrokerProxy objects that match the filter specified by the Properties argument.

Parameters:
props - Filter to select which broker proxies 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 brokers.
Returns:
Enumeration BrokerProxy objects that matched the supplied filter.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list of available brokers could not be determined because the Configuration Manager did not supply the topology information to the Configuration Manager Proxy before a timeout occurred.
See Also:
AttributeConstants

getBroker

public BrokerProxy getBroker(java.util.Properties props)
                      throws ConfigManagerProxyPropertyNotInitializedException
Returns the first BrokerProxy object that matches the filter specified by the Properties argument.

Parameters:
props - - Filter to select the broker proxy 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 an arbitrary broker.
Returns:
BrokerProxy An object that matched the supplied filter, or null if no brokers matched the filter.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list of available brokers could not be determined because the Configuration Manager did not supply the topology information to the Configuration Manager Proxy before a timeout occurred.
See Also:
AttributeConstants

getBrokerByName

public BrokerProxy getBrokerByName(java.lang.String brokerName)
                            throws ConfigManagerProxyPropertyNotInitializedException
Returns the BrokerProxy object with the supplied name, or null if a broker of that name does not exist or if the supplied argument was null.

Parameters:
brokerName -
Returns:
BrokerProxy Configuration Manager Proxy representation of the requested broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list of available brokers could not be determined because the Configuration Manager did not supply the topology information to the Configuration Manager Proxy before a timeout occurred.

createConnectionByName

public void createConnectionByName(java.lang.String sourceName,
                                   java.lang.String targetName)
                            throws ConfigManagerProxyLoggedException,
                                   ConfigManagerProxyPropertyNotInitializedException
Asks the Configuration Manager to create a publish/subscribe connection between two brokers.

If this method is called as part of a batch of requests in which either or both of the brokers are to be renamed, the operation will fail with a ConfigManagerProxyLoggedException. Callers wishing to avoid this situation should either not use batch mode, or use createConnectionByUUID() instead.

Parameters:
sourceName - Name of the source broker
targetName - Name of the target broker
Throws:
ConfigManagerProxyLoggedException - if the request to create a connection could not be sent to the Configuration Manager, if either the source broker or the target broker does not exist, or if either parameter refers to a broker for which an uncommitted rename exists.
ConfigManagerProxyPropertyNotInitializedException - if a communication problem means that details of the broker names could not be supplied by the Configuration Manager.

createConnectionByUUID

public void createConnectionByUUID(java.lang.String sourceUUID,
                                   java.lang.String targetUUID)
                            throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to create a publish/subscribe connection between two brokers by UUID.

Parameters:
sourceUUID - UUID of the source broker
targetUUID - UUID of the target broker
Throws:
ConfigManagerProxyLoggedException - if the request to create a connection could not be sent to the Configuration Manager, or if either the source broker or the target broker does not exist.

deleteConnectionByName

public void deleteConnectionByName(java.lang.String sourceName,
                                   java.lang.String targetName)
                            throws ConfigManagerProxyLoggedException,
                                   ConfigManagerProxyPropertyNotInitializedException
Asks the Configuration Manager to remove a logical connection between two brokers.

If this method is called as part of a batch of requests in which either or both of the brokers are to be renamed, the operation will fail with a ConfigManagerProxyLoggedException. Callers wishing to avoid this situation should either not use batch mode, or use deleteConnectionByUUID() instead.

Parameters:
sourceName - Name of the source broker
targetName - Name of the target broker
Throws:
ConfigManagerProxyLoggedException - if the request to remove a connection could not be sent to the Configuration Manager, or if either the source broker or the target broker does not exist, or if either parameter refers to a broker for which an uncommitted rename exists.
ConfigManagerProxyPropertyNotInitializedException - if the Configuration Manager did not supply complete topology information, which means that the broker names could not be resolved.

deleteConnectionByUUID

public void deleteConnectionByUUID(java.lang.String sourceUUID,
                                   java.lang.String targetUUID)
                            throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to remove a logical connection between two brokers.

Parameters:
sourceUUID - UUID of the source broker
targetUUID - UUID of the target broker
Throws:
ConfigManagerProxyLoggedException - if the request to remove a connection could not be sent to the Configuration Manager, or if either the source broker or the target broker does not exist.

createCollective

public CollectiveProxy createCollective(java.lang.String name)
                                 throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to create a collective with the supplied name.

If a collective already exists with the supplied name, the existing collective is returned.

Parameters:
name - of the new collective
Returns:
CollectiveProxy represents the new collective.
Throws:
ConfigManagerProxyLoggedException - if the request to create a collective could not be sent to the Configuration Manager.

deleteCollective

public void deleteCollective(java.lang.String name)
                      throws ConfigManagerProxyLoggedException,
                             ConfigManagerProxyPropertyNotInitializedException

Asks the Configuration Manager to remove the collective with the supplied name from the Topology workspace.

Parameters:
name - Name of the collective to remove from the topology.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the collective with the supplied name could not be found because the Configuration Manager has not supplied complete topology information.
ConfigManagerProxyLoggedException - if a collective with the supplied name does not exist, or if the request to delete the collective could not be sent to the Configuration Manager.

getCollectives

public java.util.Enumeration<CollectiveProxy> getCollectives(java.util.Properties props)
                                                      throws ConfigManagerProxyPropertyNotInitializedException
Returns an enumeration of all the CollectiveProxy objects that match the filter specified by the Properties argument.

Parameters:
props - Filter to select which collective proxies 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 collectives.
Returns:
Enumeration The CollectiveProxy objects which matched the supplied filter. If no matches were found, the Enumeration will be empty.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the collectives information could not be determined because the topology information has not yet been supplied.
See Also:
AttributeConstants

getCollective

public CollectiveProxy getCollective(java.util.Properties props)
                              throws ConfigManagerProxyPropertyNotInitializedException
Returns the first CollectiveProxy object that matches the filter specified by the Properties argument. If multiple matches are found, an arbitrary match is returned. If no matches are found, null is returned.

Parameters:
props - Filter to select the collective proxy 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 collectives.
Returns:
CollectiveProxy The first object that matched the supplied filter.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list of available brokers could not be determined because the Config Manager has not yet supplied the topology information.
See Also:
AttributeConstants

getCollectiveByName

public CollectiveProxy getCollectiveByName(java.lang.String collectiveName)
                                    throws ConfigManagerProxyPropertyNotInitializedException
Returns the CollectiveProxy object with the supplied name, or null if a collective of that name does not exist or if the supplied argument was null.

Parameters:
collectiveName -
Returns:
CollectiveProxy Configuration Manager Proxy representation of the requested collective.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list of available collectives could not be determined because the Configuration Manager did not supply the topology information to the Configuration Manager Proxy before a timeout occurred.

getConnections

public java.util.Enumeration<TopologyProxy.Connection> getConnections()
                                                               throws ConfigManagerProxyPropertyNotInitializedException
Returns an enumeration of all TopologyProxy.Connection objects.

Returns:
Enumeration of TopologyProxy.Connection objects.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list could not be determined because the Config Manager has not yet supplied the topology information.

adoptBroker

public BrokerProxy adoptBroker(java.lang.String brokerName,
                               java.lang.String brokerQmgr,
                               java.lang.String brokerUUID)
                        throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to attempt to take ownership of a running broker that is currently assigned to either a different Configuration Manager or a Configuration Manager that is no longer accessible.

There are several caveats associated with this method:

Parameters:
brokerName - Name of the broker to adopt
brokerQmgr - Queue manager on which the broker exists
brokerUUID - Unique identifier of the target broker (can be obtained from the BIP2201 message seen when the broker starts).
Returns:
BrokerProxy a handle to the adopted broker
Throws:
ConfigManagerProxyLoggedException - if the broker could not be adopted for any reason

getNumberOfConnections

public int getNumberOfConnections(java.lang.String brokerUUID)
                           throws ConfigManagerProxyPropertyNotInitializedException
Returns the number of Connection objects in the topology, or that involve the broker with the supplied UUID.

Parameters:
brokerUUID - UUID of the broker to match, or null to return the number of connection objects in the topology.
Returns:
int Number of connections
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list of could not be determined because the Config Manager has not yet supplied the topology information.

getNumberOfConnections

public int getNumberOfConnections()
                           throws ConfigManagerProxyPropertyNotInitializedException
Returns the number of Connection objects in the topology.

Returns:
int Number of connections
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list could not be determined because the Config Manager has not yet supplied the topology information.

getConnections

public java.util.Enumeration<TopologyProxy.Connection> getConnections(java.lang.String brokerUUID)
                                                               throws ConfigManagerProxyPropertyNotInitializedException
Returns an enumeration of TopologyProxy.Connection objects that affect the broker with the supplied UUID

Parameters:
brokerUUID - UUID of the broker whose connections are to be returned. If this parameter is null or blank, all known connections in the topology are returned.
Returns:
Enumeration of TopologyProxy.Connection objects.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list could not be determined because the Config Manager has not yet supplied the topology information.

getConfigurationObjectType

public ConfigurationObjectType getConfigurationObjectType()
Returns the ConfigurationObjectType associated with this AdministeredObject type.

Specified by:
getConfigurationObjectType in class AdministeredObject
Returns:
ConfigurationObjectType associated with this class.

getConfigurationObjectTypeOfParent

public ConfigurationObjectType getConfigurationObjectTypeOfParent()
Returns the ConfigurationObjectType associated with the logical parent of this AdministeredObject type.

Specified by:
getConfigurationObjectTypeOfParent in class AdministeredObject
Returns:
ConfigurationObjectType associated with the logical parent of this class.

toString

public java.lang.String toString()
Displays the name of the object

Overrides:
toString in class AdministeredObject
Returns:
String Representation of the current object

getAccessControlEntries

public 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.

This method does not return details of permissions that have been implicitly granted by inherited access control entries.

Returns:
AccessControlEntry[] array of AccessControlEntry objects that apply to this object.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if this objects list of Access Control Entries was not supplied by the Configuration Manager before a timeout occurred.

setAccessControlEntries

public void setAccessControlEntries(AccessControlEntry[] accessControlList)
                             throws ConfigManagerProxyLoggedException
Sets the complete list of access control entries that apply to this object. Null elements in the array are ignored. If the array itself is null or empty, all access control entries for this object are removed.

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.

Parameters:
accessControlList - Array of access control entries which are to apply to this object.
Throws:
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.

addAccessControlEntries

public void addAccessControlEntries(AccessControlEntry[] accessControlList)
                             throws ConfigManagerProxyLoggedException
Adds this list to the list of access control entries that applies to this object. Null elements in the array are ignored.

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.

Parameters:
accessControlList - Array of access control entries which are to be added to this object.
Throws:
ConfigManagerProxyLoggedException
ConfigManagerProxyLoggedException - if the request to update the object could not be sent to the Configuration Manager.

removeAccessControlEntries

public void removeAccessControlEntries(AccessControlEntry[] accessControlList)
                                throws ConfigManagerProxyLoggedException
Deletes this list from the list of access control entries that applies to this object. Null elements in the array are ignored. In addition, if any elements of the array are not associated with the administered object, they will be ignored.

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.

Parameters:
accessControlList - Array of access control entries which are to be removed from this object.
Throws:
ConfigManagerProxyLoggedException - if the request to update the object could not be sent to the Configuration Manager.