|
|||||||||
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.TopologyProxy
public class TopologyProxy
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)
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 java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Method Detail |
---|
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");
name
- Name of the new broker.qmgr
- Queue Manager associated with the new broker.
ConfigManagerProxyLoggedException
- - if the request to create
a broker could not be sent to the Configuration Manager.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:
Consider using removeDeletedBroker() if the broker component has already been deleted.
name
- Name of the broker to delete
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.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:
Consider using removeDeletedBroker() if the broker component has already been deleted.
name
- Name of the broker to deletetimeToWaitMs
- A positive value describes the
maximum length of time to wait for broker responses
(in milliseconds) before returning the DeployResult, if
applicable. Alternatively:
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.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:
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.
nameOrUUID
- Name or UUID of the broker to delete
ConfigManagerProxyLoggedException
- if the request to
remove the broker could not be sent to the Configuration Manager.public void deploy() throws ConfigManagerProxyLoggedException
ConfigManagerProxyLoggedException
- if the request
could not be sent to the Configuration Manager.public void deploy(boolean isDelta) throws ConfigManagerProxyLoggedException
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.
ConfigManagerProxyLoggedException
- if the request
could not be sent to the Configuration Manager.public DeployResult deploy(boolean isDelta, long timeToWaitMs) throws ConfigManagerProxyLoggedException
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:
ConfigManagerProxyLoggedException
- if the request
could not be sent to the Configuration Manager.public java.util.Enumeration<BrokerProxy> getBrokers(java.util.Properties props) throws ConfigManagerProxyPropertyNotInitializedException
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.
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.AttributeConstants
public BrokerProxy getBroker(java.util.Properties props) throws ConfigManagerProxyPropertyNotInitializedException
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.
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.AttributeConstants
public BrokerProxy getBrokerByName(java.lang.String brokerName) throws ConfigManagerProxyPropertyNotInitializedException
brokerName
-
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.public void createConnectionByName(java.lang.String sourceName, java.lang.String targetName) throws ConfigManagerProxyLoggedException, ConfigManagerProxyPropertyNotInitializedException
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.
sourceName
- Name of the source brokertargetName
- Name of the target broker
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.public void createConnectionByUUID(java.lang.String sourceUUID, java.lang.String targetUUID) throws ConfigManagerProxyLoggedException
sourceUUID
- UUID of the source brokertargetUUID
- UUID of the target broker
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.public void deleteConnectionByName(java.lang.String sourceName, java.lang.String targetName) throws ConfigManagerProxyLoggedException, ConfigManagerProxyPropertyNotInitializedException
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.
sourceName
- Name of the source brokertargetName
- Name of the target broker
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.public void deleteConnectionByUUID(java.lang.String sourceUUID, java.lang.String targetUUID) throws ConfigManagerProxyLoggedException
sourceUUID
- UUID of the source brokertargetUUID
- UUID of the target broker
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.public CollectiveProxy createCollective(java.lang.String name) throws ConfigManagerProxyLoggedException
If a collective already exists with the supplied name, the existing collective is returned.
name
- of the new collective
ConfigManagerProxyLoggedException
- if the request to create a
collective could not be sent to the Configuration Manager.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.
name
- Name of the collective to remove from the topology.
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.public java.util.Enumeration<CollectiveProxy> getCollectives(java.util.Properties props) throws ConfigManagerProxyPropertyNotInitializedException
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.
ConfigManagerProxyPropertyNotInitializedException
- if the collectives information could not be determined because
the topology information has not yet been supplied.AttributeConstants
public CollectiveProxy getCollective(java.util.Properties props) throws ConfigManagerProxyPropertyNotInitializedException
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.
ConfigManagerProxyPropertyNotInitializedException
- if the list of
available brokers could not be determined because the Config
Manager has not yet supplied the topology information.AttributeConstants
public CollectiveProxy getCollectiveByName(java.lang.String collectiveName) throws ConfigManagerProxyPropertyNotInitializedException
collectiveName
-
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.public java.util.Enumeration<TopologyProxy.Connection> getConnections() throws ConfigManagerProxyPropertyNotInitializedException
ConfigManagerProxyPropertyNotInitializedException
- if the list
could not be determined because the Config
Manager has not yet supplied the topology information.public BrokerProxy adoptBroker(java.lang.String brokerName, java.lang.String brokerQmgr, java.lang.String brokerUUID) throws ConfigManagerProxyLoggedException
There are several caveats associated with this method:
brokerName
- Name of the broker to adoptbrokerQmgr
- Queue manager on which the broker existsbrokerUUID
- Unique identifier of the target broker
(can be obtained from the BIP2201 message seen when the
broker starts).
ConfigManagerProxyLoggedException
- if the broker could
not be adopted for any reasonpublic int getNumberOfConnections(java.lang.String brokerUUID) throws ConfigManagerProxyPropertyNotInitializedException
brokerUUID
- UUID of the broker to match, or null
to return the number of connection objects in the
topology.
ConfigManagerProxyPropertyNotInitializedException
- if the list of
could not be determined because the Config
Manager has not yet supplied the topology information.public int getNumberOfConnections() throws ConfigManagerProxyPropertyNotInitializedException
ConfigManagerProxyPropertyNotInitializedException
- if the list
could not be determined because the Config
Manager has not yet supplied the topology information.public java.util.Enumeration<TopologyProxy.Connection> getConnections(java.lang.String brokerUUID) throws ConfigManagerProxyPropertyNotInitializedException
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.
ConfigManagerProxyPropertyNotInitializedException
- if the list
could not be determined because the Config
Manager has not yet supplied the topology information.public ConfigurationObjectType getConfigurationObjectType()
getConfigurationObjectType
in class AdministeredObject
public ConfigurationObjectType getConfigurationObjectTypeOfParent()
getConfigurationObjectTypeOfParent
in class AdministeredObject
public java.lang.String toString()
toString
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |