com.ibm.broker.config.proxy
Class BrokerProxy

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

public class BrokerProxy
extends AdministeredObject

Each broker within the Configuration Manager's domain can be represented by a BrokerProxy.

In order to use BrokerProxy 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();
     BrokerProxy b = t.getBrokerByName("BROKER1");
 

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

Responsibilities Acts as a container of Execution Groups. Provides the ability to deploy to all execution groups. Provides the ability to control the deployed message flows for all owned execution groups.
Internal Collaborators com.ibm.broker.config.proxy.ExecutionGroupProxy

 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 setRuntimeProperty(String, String)
                                         Added getRuntimeProperty(String)
                                         Added getRuntimePropertyNames()
                                         Added setHTTPListenerProperty(String, String)
                                         Added getHTTPListenerProperty(String)
                                         Added getHTTPListenerPropertyNames()
                                         Added setConfigurableServiceProperty(String, String)
                                         Added getConfigurableServiceProperty(String)
                                         Added getConfigurableServicePropertyNames()
                                         Added getLastDiscoveryTime(SyncType)
                                         Deprecated getters and setters that can be controlled as runtime properties  
                                         Added getQueues()
                                         Added getNodeTypes()
                                         Added discoverConfiguration()
                                         Added getPolicySet(String)
                                         Added getPolicySetBinding(String)
                                         Added getPolicySetBindingNames()
                                         Added getPolicySetNames()
 

Version:
Config/com/ibm/broker/config/proxy/BrokerProxy.java, CMP, S000 1.105

Nested Class Summary
static class BrokerProxy.MulticastParameterSet
          Deprecated. This technique of changing multicast parameters is not compatible with values changed using the mqsichangeproperties command; use ExecutionGroupProxy.setRuntimeProperties() and BrokerProxy.setRuntimeProperties() instead.
static class BrokerProxy.SyncType
          Enumerates the possible types of synchronization that the Configuration Manager can perform with the broker.
 
Method Summary
 void addAccessControlEntries(AccessControlEntry[] accessControlList)
          Adds this list to the list of access control entries that applies to this object.
 void cancelDeployment()
          Tells the Configuration Manager to remove any deployment lock that may currently be in place for the current broker.
 DeployResult cancelDeployment(long timeToWaitMs)
          Tells the Configuration Manager to remove any deployment lock that may currently be in place for the current broker.
 ExecutionGroupProxy createExecutionGroup(java.lang.String name)
          Asks the Configuration Manager to add an Execution Group of the supplied name to the broker.
 ExecutionGroupProxy createExecutionGroup(java.lang.String name, int arch)
          Asks the Configuration Manager to add an Execution Group of the supplied name and architecture to the broker.
 SubscriptionQuery createSubscriptionQuery()
          Create a SubscriptionQuery object that can be used to query this brokers subscriptions.
 void deleteAllExecutionGroupsAndDeploy()
          Deletes all execution groups existing in the broker and deploys this change to the broker.
 DeployResult deleteAllExecutionGroupsAndDeploy(long timeToWaitMs)
          Deletes all execution groups existing in the broker and deploys this change to the broker.
 void deleteExecutionGroup(java.lang.String name)
          Asks the Configuration Manager to remove the execution group with the supplied name from the broker.
 DeployResult deleteExecutionGroup(java.lang.String name, long timeToWaitMs)
          Asks the Configuration Manager to remove the execution group with the supplied name from the broker.
 void deploy()
          Deploys the broker's configuration to the broker.
 DeployResult deploy(long timeToWaitMs)
          Deploys the broker's configuration to the broker.
 void discoverConfiguration()
          Asks the Configuration Manager to replace the information that it holds regarding a broker and its configuration with information provided by the broker itself.
 void forceSubscribe()
          Asks the Configuration Manager to (re)subscribe itself to the broker's status topics.
 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.
 java.lang.String getAuthenticationProtocols()
          Deprecated. Use getRuntimeProperty(RuntimePropertyConstants.NAME_BROKERAUTHPROTOCOLS) instead.
 java.lang.String getConfigurableServiceProperty(java.lang.String serviceObjectAndPropertyName)
          Returns the value of the configurable service runtime property with the supplied name.
 java.lang.String[] getConfigurableServicePropertyNames()
          Returns a string array of all runtime configurable service properties associated with 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.
 ExecutionGroupProxy getExecutionGroup(java.util.Properties props)
          Returns the first ExecutiongroupProxy object that matches the filter specified by the Properties argument.
 ExecutionGroupProxy getExecutionGroupByName(java.lang.String executionGroupName)
          Returns the ExecutionGroupProxy object with the supplied name, or null if an execution group of that name does not exist or if the supplied argument was null.
 java.util.Enumeration<ExecutionGroupProxy> getExecutionGroups(java.util.Properties props)
          Returns an enumeration of all the ExecutionGroupProxy objects that match the filter specified by the Properties argument.
 java.lang.String getHTTPListenerProperty(java.lang.String objectAndpropertyName)
          Returns the value of the HTTP listener runtime property with the supplied name.
 java.lang.String[] getHTTPListenerPropertyNames()
          Returns a string array of all runtime HTTPListener properties associated with this object.
 java.lang.String getInterbrokerHost()
          Deprecated. Use BrokerProxy.getRuntimeProperty(RuntimePropertyConstants.NAME_INTERBROKERHOST, ...) instead.
 int getInterbrokerPort()
          Deprecated. Use BrokerProxy.getRuntimeProperty(RuntimePropertyConstants.NAME_INTERBROKERPORT, ...) instead.
 TopicProxy.QoP getISysQualityOfProtectionLevel()
          Deprecated. Use BrokerProxy.getRuntimeProperty(RuntimePropertyConstants.NAME_ISYSQOPLEVEL, ...) instead.
 java.util.Date getLastDiscoveryTime(BrokerProxy.SyncType syncType)
          Returns the time that the Configuration Manager last discovered the configuration held by the broker.
 BrokerProxy.MulticastParameterSet getMulticastParameters()
          Deprecated. This method will not reflect any values changed changed using the mqsichangeproperties command; use ExecutionGroupProxy.getRuntimeProperty() instead.
 java.lang.String[] getNodeTypes()
          Returns a list of the types of nodes used in this broker.
 java.io.InputStream getPolicySet(java.lang.String policySet)
          Asks the broker to return the contents of a policy set with the supplied name.
 java.io.InputStream getPolicySetBinding(java.lang.String policySetBinding)
          Asks the broker to return the contents of a policy set binding with the supplied name.
 java.lang.String[] getPolicySetBindingNames()
          Asks the broker to return the names of the policy set bindings deployed on the broker.
 java.lang.String[] getPolicySetNames()
          Asks the broker to return the names of the policy sets deployed on the broker.
 java.lang.String getQueueManagerName()
          Returns the name of the Queue Manager associated with this broker.
 java.lang.String[] getQueues()
          Returns a list of the MQ queues referenced by the message flows in use by this broker.
 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 basic runtime properties associated with this object.
 boolean getSSLConnectorEnabled()
          Returns true if and only if the SSL connector is enabled on the broker.
 java.lang.String getSSLKeyRingFileName()
          Returns the name of the SSL Key ring file associated with this broker.
 java.lang.String getSSLPasswordFileName()
          Returns the name of the SSL Password file associated with this broker.
 TopicProxy.QoP getSysQualityOfProtectionLevel()
          Deprecated. Use BrokerProxy.getRuntimeProperty(RuntimePropertyConstants.NAME_SYSQOPLEVEL, ...) instead.
 TopicProxy.QoP getTemporaryTopicQualityOfProtectionLevel()
          Returns the Quality of Protection level associated with this broker's temporary topic.
 boolean isRunning()
          Returns true if the broker 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 setAuthenticationProtocols(java.lang.String authProtocols)
          Sets the authentication parameter for the broker.
 void setConfigurableServiceProperty(java.lang.String serviceObjectAndPropertyName, java.lang.String propertyValue)
          Asks the Configuration Manager to configure an arbitrary broker-wide configurable service property.
 void setHTTPListenerProperty(java.lang.String objectAndPropertyName, java.lang.String propertyValue)
          Asks the Configuration Manager to configure an arbitrary property on the broker's HTTP listener component.
 void setInterbrokerHost(java.lang.String ibHost)
          Deprecated. Use BrokerProxy.setRuntimeProperty(RuntimePropertyConstants.NAME_INTERBROKERHOST, ibHost) instead.
 void setInterbrokerPort(int ibPort)
          Deprecated. Use BrokerProxy.setRuntimeProperty(RuntimePropertyConstants.NAME_INTERBROKERPORT, ibPort) instead.
 void setISysQualityOfProtectionLevel(TopicProxy.QoP newQoP)
          Deprecated. Use BrokerProxy.setRuntimeProperty(RuntimePropertyConstants.NAME_ISYSQOPLEVEL, newQoP) instead.
 void setMulticastParameters(BrokerProxy.MulticastParameterSet newParameterSet)
          Deprecated. This method is not compatible with values changed using the mqsichangeproperties command; use ExecutionGroupProxy.setRuntimeProperties() instead.
 void setPolicySet(java.lang.String policySet, java.io.InputStream policySetContents)
          Asks the broker to save a policy set with the supplied contents.
 void setPolicySetBinding(java.lang.String policySetBinding, java.io.InputStream policySetBindingContents)
          Asks the broker to save policy set binding information with the supplied contents.
 void setQueueManagerName(java.lang.String newQMgr)
          Sets the queue manager name of the broker.
 void setRuntimeProperty(java.lang.String objectAndPropertyName, java.lang.String propertyValue)
          Asks the Configuration Manager to configure an arbitrary broker-wide property.
 void setSSLConnectorEnabled(boolean isEnabled)
          Enables or disables the SSL connector on this broker.
 void setSSLKeyRingFileName(java.lang.String keyRingFile)
          Sets the SSL key ring file parameter for the broker.
 void setSSLPasswordFileName(java.lang.String passwordFile)
          Sets the SSL password file parameter for the broker.
 void setSysQualityOfProtectionLevel(TopicProxy.QoP newQoP)
          Deprecated. Use BrokerProxy.setRuntimeProperty(RuntimePropertyConstants.NAME_SYSQOPLEVEL, newQoP) instead.
 void setTemporaryTopicQualityOfProtectionLevel(TopicProxy.QoP newQoP)
          Sets the Quality of Protection level for this broker's temporary topic.
 void setUserTrace(MessageFlowProxy.UserTrace newTrace)
          Configures the user trace settings for every execution group under the execution group's control.
 void setUUID(java.lang.String newUUID)
          Replaces all occurrences of the broker's UUID in the Configuration Manager repository with the supplied value.
 void startMessageFlows()
          Asks the Configuration Manager to start all message flows deployed to the broker.
 void stopMessageFlows(boolean immediate)
          Asks the Configuration Manager to stop all message flows deployed to the broker.
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 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, toString, toVerboseString, unsubscribeFromConfigurationManagerUpdates
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

cancelDeployment

public DeployResult cancelDeployment(long timeToWaitMs)
                              throws ConfigManagerProxyLoggedException
Tells the Configuration Manager to remove any deployment lock that may currently be in place for the current broker. If there is no outstanding deployment for the current broker, the Configuration Manager will do nothing.

The Configuration Manager will attempt to recall any unprocessed deployment messages from the broker's SYSTEM.BROKER.ADMIN.QUEUE, but this can only succeed if the broker is on the same queue manager as the Configuration Manager. Usually, the Configuration Manager cannot recall deployment messages that have been sent to the broker, and so it is essential that, after cancelling deployment, any unprocessed deployment messages are manually removed from the broker's SYSTEM.BROKER.ADMIN.QUEUE queue. If this is not done, and a broker subsequently processes a deployment message that was cancelled, the Configuration Manager may become out of sync with the broker.

Only use this method if you are sure that any outstanding deployment message will never be processed by the broker to which it is addressed.

Cancelling deployment to a specific broker does not work if the Configuration Manager Proxy is connected to a v5 Configuration Manager. Use ConfigManagerProxy.cancelDeployment() if this is the case.

Parameters:
timeToWaitMs - A positive value describes the maximum length of time to wait for a response from the Configuration Manager (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 indefinitely for the response from the Configuration Manager.
  • 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. Note that the cancel deployment operation does not require any interaction with the broker to which it refers, and so the DeployResult object will not contain any broker-specific results (for example, getDeployedBrokers() will return an empty enumeration).
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

cancelDeployment

public void cancelDeployment()
                      throws ConfigManagerProxyLoggedException
Tells the Configuration Manager to remove any deployment lock that may currently be in place for the current broker. If there is no outstanding deployment for the current broker, the Configuration Manager will do nothing.

The Configuration Manager will attempt to recall any unprocessed deployment messages from the broker's SYSTEM.BROKER.ADMIN.QUEUE, but this can only succeed if the broker is on the same queue manager as the Configuration Manager. Usually, the Configuration Manager cannot recall deployment messages that have been sent to the broker, and so it is essential that, after cancelling deployment, any unprocessed deployment messages are manually removed from the broker's SYSTEM.BROKER.ADMIN.QUEUE queue. If this is not done, and a broker subsequently processes a deployment message that was cancelled, the Configuration Manager may become temporarily or permanently out of sync with the broker.

Only use this method if you are sure that any outstanding deployment message will never be processed by the broker to which it is addressed.

Cancelling deployment to a specific broker does not work if the Configuration Manager Proxy is connected to a v5 Configuration Manager. Use ConfigManagerProxy.cancelDeployment() if this is the case.

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

createExecutionGroup

public ExecutionGroupProxy createExecutionGroup(java.lang.String name)
                                         throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to add an Execution Group of the supplied name to the broker.

Upon processing this action, the Configuration Manager will not have deployed the execution group to the broker. Use ExecutionGroupProxy.deploy() to do this.

If an execution group already exists with the supplied name, the existing execution group is returned.

Parameters:
name - Name of the new execution group.
Returns:
ExecutionGroupProxy an object that represents the new execution group.
Throws:
ConfigManagerProxyLoggedException - if the request to create the execution group could not be sent to the Configuration Manager.

createExecutionGroup

public ExecutionGroupProxy createExecutionGroup(java.lang.String name,
                                                int arch)
                                         throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to add an Execution Group of the supplied name and architecture to the broker.

Upon processing this action, the Configuration Manager will not have deployed the execution group to the broker. Use ExecutionGroupProxy.deploy() to do this.

If an execution group already exists with the supplied name, the existing execution group is returned.

Parameters:
name - Name of the new execution group.
arch - Desired processor architecture of the new execution group. Valid values are AttributeConstants.EG_PROCESSOR_ARCHITECTURE_32BIT (to create a 32-bit execution group) and AttributeConstants.EG_PROCESSOR_ARCHITECTURE_64BIT (to create a 64-bit execution group).

If the target broker is of a version earlier than V6 FixPack 01, the execution group must be 32-bit. If the Configuration Manager to which this Configuration Manager Proxy is connected is of a version earlier than V6 FixPack 01, the the architecture property will be ignored and the execution group will be created as 32-bit.

Returns:
ExecutionGroupProxy an object that represents the new execution group.
Throws:
ConfigManagerProxyLoggedException - if the request to create the execution group could not be sent to the Configuration Manager.

deleteExecutionGroup

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

Asks the Configuration Manager to remove the execution group with the supplied name from the broker. The method returns as soon as the deletion request has been enqueued for sending to the Configuration Manager.

Once it has been processed by the Configuration Manager, if the request is successful any resources used by the execution group will be removed and the execution group will no longer appear in the output of mqsilist for that broker. If the execution group had never been successfully deployed to the broker, the execution group reference is simply removed from the Configuration Manager's repository.

If the execution group being deleted is being used as the broker's default execution group (denoted by defaultExecutionGroup 'true' on the execution group BIP2201 start message), note that the broker will not completely remove the execution group until the broker is restarted.

Parameters:
name - of the execution group to be deleted from the Broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the name could not be resolved because the broker information was not supplied by the Configuration Manager.
ConfigManagerProxyLoggedException - If the request to delete the Execution Group could not be sent to the Configuration Manager.

deleteExecutionGroup

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

Asks the Configuration Manager to remove the execution group with the supplied name from the broker.

If the request is successful, any resources used by the execution group will be removed and the execution group will no longer appear in the output of mqsilist for that broker. If the execution group had never been successfully deployed to the broker, the execution group reference is simply removed from the Configuration Manager's repository.

If the execution group being deleted is being used as the broker's default execution group (denoted by defaultExecutionGroup 'true' on the execution group BIP2201 start message), note that the broker will not completely remove the execution group until the broker is restarted.

Parameters:
name - of the execution group to be deleted.
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 BrokerProxy.deploy() must subsequently be invoked in order to cleanly tidy up the execution group's resources in the broker 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 indefinitely until a response has been received from the broker.
  • 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 current broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the name could not be resolved because the broker information was not supplied by the Configuration Manager.
ConfigManagerProxyLoggedException - If the request to delete the Execution Group could not be sent to the Configuration Manager.

deleteAllExecutionGroupsAndDeploy

public void deleteAllExecutionGroupsAndDeploy()
                                       throws ConfigManagerProxyLoggedException

Deletes all execution groups existing in the broker and deploys this change to the broker. This method should only be called as a last resort, for example if the broker is out of step with the Configuration Manager and the only alternative would be to delete the broker. Any active message flows on the broker will be deleted. 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.

deleteAllExecutionGroupsAndDeploy

public DeployResult deleteAllExecutionGroupsAndDeploy(long timeToWaitMs)
                                               throws ConfigManagerProxyLoggedException

Deletes all execution groups existing in the broker and deploys this change to the broker. This method should only be called as a last resort, for example if the broker is out of step with the Configuration Manager and the only alternative would be to delete the broker. Any active message flows on the broker will be deleted.

Parameters:
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 request could not be sent to the Configuration Manager.

deploy

public void deploy()
            throws ConfigManagerProxyLoggedException
Deploys the broker's configuration to the broker. The list of valid execution groups is deployed, as well as any settings that can be configured using the Configuration Manager Proxy BrokerProxy class. The configuration deployed is the one that is known to the Configuration Manager at the time of deployment. 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(long timeToWaitMs)
                    throws ConfigManagerProxyLoggedException
Deploys the broker's configuration to the broker. The list of valid execution groups is deployed, as well as any settings that can be configured using the Configuration Manager Proxy BrokerProxy class. The configuration deployed is the one that is known to the Configuration Manager at the time of deployment.

Parameters:
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 request could not be sent to the Configuration Manager.

getSSLKeyRingFileName

public java.lang.String getSSLKeyRingFileName()
                                       throws ConfigManagerProxyPropertyNotInitializedException
Returns the name of the SSL Key ring file associated with this broker. If the property has not been defined for this broker, null is returned.

Returns:
String Name of the key ring file.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's keyring filename was not supplied by the Configuration Manager before a timeout occurred.

getSSLConnectorEnabled

public boolean getSSLConnectorEnabled()
                               throws ConfigManagerProxyPropertyNotInitializedException
Returns true if and only if the SSL connector is enabled on the broker.

Returns:
boolean whether the SSL connector is enabled
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's SSL connector state was not supplied by the Configuration Manager before a timeout occurred.

getAuthenticationProtocols

public java.lang.String getAuthenticationProtocols()
                                            throws ConfigManagerProxyPropertyNotInitializedException
Deprecated. Use getRuntimeProperty(RuntimePropertyConstants.NAME_BROKERAUTHPROTOCOLS) instead.

Returns the name of the 'Authentication Protocols' attribute associated with this broker. If the property has not been defined for this broker, null is returned.

Returns:
String Name of the protocols.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's authentication protocols was not supplied by the Configuration Manager before a timeout occurred.

getSSLPasswordFileName

public java.lang.String getSSLPasswordFileName()
                                        throws ConfigManagerProxyPropertyNotInitializedException
Returns the name of the SSL Password file associated with this broker. If the property has not been defined for this broker, null is returned.

Returns:
String Name of the password file.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's SSL password filename was not supplied by the Configuration Manager before a timeout occurred.

getInterbrokerHost

public java.lang.String getInterbrokerHost()
                                    throws ConfigManagerProxyPropertyNotInitializedException
Deprecated. Use BrokerProxy.getRuntimeProperty(RuntimePropertyConstants.NAME_INTERBROKERHOST, ...) instead.

Returns the interbroker host associated with this broker.

Returns:
String interbroker host property. If the property is not configured for this broker, null is returned.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's interbroker hostname was not supplied by the Configuration Manager before a timeout occurred.

getInterbrokerPort

public int getInterbrokerPort()
                       throws ConfigManagerProxyPropertyNotInitializedException
Deprecated. Use BrokerProxy.getRuntimeProperty(RuntimePropertyConstants.NAME_INTERBROKERPORT, ...) instead.

Returns the interbroker port associated with this broker.

Returns:
int interbroker port property. If the property is not configured for this broker, -1 is returned.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's interbroker port was not supplied by the Configuration Manager before a timeout occurred.

getTemporaryTopicQualityOfProtectionLevel

public TopicProxy.QoP getTemporaryTopicQualityOfProtectionLevel()
                                                         throws ConfigManagerProxyPropertyNotInitializedException
Returns the Quality of Protection level associated with this broker's temporary topic. If the property has not been defined for this broker, unknown is returned.

Returns:
TopicProxy.QoP Describes the level of protection assigned to the topic.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's temporary topic QoP level was not supplied by the Configuration Manager before a timeout occurred.

getSysQualityOfProtectionLevel

public TopicProxy.QoP getSysQualityOfProtectionLevel()
                                              throws ConfigManagerProxyPropertyNotInitializedException
Deprecated. Use BrokerProxy.getRuntimeProperty(RuntimePropertyConstants.NAME_SYSQOPLEVEL, ...) instead.

Returns the 'Sys' Quality of Protection level associated with this broker. If the property has not been defined for this broker, unknown is returned.

Returns:
TopicProxy.QoP Describes the quality of protection
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's Sys QoP level was not supplied by the Configuration Manager before a timeout occurred.

getISysQualityOfProtectionLevel

public TopicProxy.QoP getISysQualityOfProtectionLevel()
                                               throws ConfigManagerProxyPropertyNotInitializedException
Deprecated. Use BrokerProxy.getRuntimeProperty(RuntimePropertyConstants.NAME_ISYSQOPLEVEL, ...) instead.

Returns the 'ISys' Quality of Protection level associated with this broker. If the property has not been defined for this broker, unknown is returned.

Returns:
TopicProxy.QoP Describes the quality of protection
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's ISys QoP level was not supplied by the Configuration Manager before a timeout occurred.

setTemporaryTopicQualityOfProtectionLevel

public void setTemporaryTopicQualityOfProtectionLevel(TopicProxy.QoP newQoP)
                                               throws ConfigManagerProxyLoggedException
Sets the Quality of Protection level for this broker's temporary topic.

Parameters:
newQoP - - The new Quality of Protection level (TopicProxy.QoP.none, TopicProxy.QoP.channelIntegrity, TopicProxy.QoP.messageIntegrity or TopicProxy.QoP.encrypted).
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager, or if the supplied argument was TopicProxy.QoP.unknown.

setSysQualityOfProtectionLevel

public void setSysQualityOfProtectionLevel(TopicProxy.QoP newQoP)
                                    throws ConfigManagerProxyLoggedException
Deprecated. Use BrokerProxy.setRuntimeProperty(RuntimePropertyConstants.NAME_SYSQOPLEVEL, newQoP) instead.

Sets the 'Sys' Quality of Protection level for this broker.

Parameters:
newQoP - The new Quality of Protection level (TopicProxy.QoP.none, TopicProxy.QoP.channelIntegrity, TopicProxy.QoP.messageIntegrity or TopicProxy.QoP.encrypted).
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager, or if the supplied argument was TopicProxy.QoP.unknown.

setISysQualityOfProtectionLevel

public void setISysQualityOfProtectionLevel(TopicProxy.QoP newQoP)
                                     throws ConfigManagerProxyLoggedException
Deprecated. Use BrokerProxy.setRuntimeProperty(RuntimePropertyConstants.NAME_ISYSQOPLEVEL, newQoP) instead.

Sets the 'ISys' Quality of Protection level for this broker.

Parameters:
newQoP - - The new Quality of Protection level (TopicProxy.QoP.none, TopicProxy.QoP.channelIntegrity, TopicProxy.QoP.messageIntegrity or TopicProxy.QoP.encrypted).
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager, or if the supplied argument was TopicProxy.QoP.unknown.

getQueueManagerName

public java.lang.String getQueueManagerName()
                                     throws ConfigManagerProxyPropertyNotInitializedException
Returns the name of the Queue Manager associated with this broker.

Returns:
String Name of the MQSeries Queue Manager.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's queue manager was not supplied by the Configuration Manager before a timeout occurred.

setQueueManagerName

public void setQueueManagerName(java.lang.String newQMgr)
                         throws ConfigManagerProxyLoggedException
Sets the queue manager name of the broker.

Parameters:
newQMgr - - The new queue manager name of the broker.
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

setSSLKeyRingFileName

public void setSSLKeyRingFileName(java.lang.String keyRingFile)
                           throws ConfigManagerProxyLoggedException
Sets the SSL key ring file parameter for the broker. In order for the changes to take effect on the broker, the broker's configuration must be redeployed after this call has completed.

Parameters:
keyRingFile - - Path name of the key ring file (must point to a file accessible on the broker machine).
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

setSSLPasswordFileName

public void setSSLPasswordFileName(java.lang.String passwordFile)
                            throws ConfigManagerProxyLoggedException
Sets the SSL password file parameter for the broker. In order for the changes to take effect on the broker, the broker's configuration must be redeployed after this call has completed.

Parameters:
passwordFile - - Path name of the password file (must point to a file accessible on the broker machine).
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

setSSLConnectorEnabled

public void setSSLConnectorEnabled(boolean isEnabled)
                            throws ConfigManagerProxyLoggedException
Enables or disables the SSL connector on this broker. In order for the changes to take effect on the broker, the broker's configuration must be redeployed after this call has completed. This feature cannot be enabled on v5.x brokers.

Parameters:
isEnabled - if and only if the value is true, SSL connector will be enabled at the next broker configuration deploy.
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

setAuthenticationProtocols

public void setAuthenticationProtocols(java.lang.String authProtocols)
                                throws ConfigManagerProxyLoggedException
Sets the authentication parameter for the broker. In order for the changes to take effect on the broker, the broker's configuration must be redeployed after this call has completed.

Parameters:
authProtocols - - The authentication protocols string Must only contain a combination of characters 'P', 'M', 'R' or 'S'.
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.
ConfigManagerProxyLoggedException - if the supplied String was invalid.

setInterbrokerHost

public void setInterbrokerHost(java.lang.String ibHost)
                        throws ConfigManagerProxyLoggedException
Deprecated. Use BrokerProxy.setRuntimeProperty(RuntimePropertyConstants.NAME_INTERBROKERHOST, ibHost) instead.

Sets the interbroker host associated with this broker.

Parameters:
ibHost - - Interbroker host name associated with this broker.
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

setInterbrokerPort

public void setInterbrokerPort(int ibPort)
                        throws ConfigManagerProxyLoggedException
Deprecated. Use BrokerProxy.setRuntimeProperty(RuntimePropertyConstants.NAME_INTERBROKERPORT, ibPort) instead.

Sets the interbroker port associated with this broker.

Parameters:
ibPort - - Interbroker port associated with this broker.
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

getConfigurableServicePropertyNames

public java.lang.String[] getConfigurableServicePropertyNames()
Returns a string array of all runtime configurable service properties associated with this object. Use getConfigurableServiceProperty() to get the current value associated with a given property and setConfigurableServiceProperty() to set it. Each String is of the form "ObjectName/PropertyName", where ObjectName and PropertyName are the object and property names supplied on the -o and -n parameters of mqsireportproperties. The '/' character that separates the two values is defined in RuntimePropertyConstants.OBJECT_NAME_DELIMITER.

Returns:
String[] containing configurable service property names that have been defined on the broker

getHTTPListenerPropertyNames

public java.lang.String[] getHTTPListenerPropertyNames()
Returns a string array of all runtime HTTPListener properties associated with this object. Use getHTTPListenerProperty() to get the current value associated with a given property and setHTTPListenerProperty() to set it. Each String is of the form "ObjectName/PropertyName", where ObjectName and PropertyName are the object and property names supplied on the -o and -n parameters of mqsireportproperties. The '/' character that separates the two values is defined in RuntimePropertyConstants.OBJECT_NAME_DELIMITER.

Returns:
String[] containing HTTPListener property names that have been defined on the broker

getRuntimePropertyNames

public java.lang.String[] getRuntimePropertyNames()
Returns a string array of all basic runtime properties associated with this object. Use getRuntimeProperty() to get the current value associated with a given property and setRuntimeProperty() to set it. Each String is of the form "ObjectName/PropertyName", where ObjectName and PropertyName are the object and property names supplied on the -o and -n parameters of mqsireportproperties. The '/' character that separates the two values is defined in RuntimePropertyConstants.OBJECT_NAME_DELIMITER.

Returns:
String[] containing runtime property names that have been defined on the broker

getExecutionGroups

public java.util.Enumeration<ExecutionGroupProxy> getExecutionGroups(java.util.Properties props)
                                                              throws ConfigManagerProxyPropertyNotInitializedException

Returns an enumeration of all the ExecutionGroupProxy objects that match the filter specified by the Properties argument.

Parameters:
props - Filter to select the ExecutionGroupProxy 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 execution groups of this broker.
Returns:
Enumeration The ExecutionGroupProxy objects that matched the supplied filter.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's execution groups was not supplied by the Configuration Manager before a timeout occurred.

getExecutionGroup

public ExecutionGroupProxy getExecutionGroup(java.util.Properties props)
                                      throws ConfigManagerProxyPropertyNotInitializedException

Returns the first ExecutiongroupProxy object that matches the filter specified by the Properties argument. This method is an ExecutionGroupProxy-specific wrapper to AdministeredObject.getManagedSubcomponent(Properties). Consider using getExecutionGroupByName(String) to return a execution group by name.

Parameters:
props - Filter to select the ExecutionGroupProxy 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 execution groups of this broker.
Returns:
ExecutionGroupProxy The first object that matched the supplied filter, or null if nothing matched the filter.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's execution groups was not supplied by the Configuration Manager before a timeout occurred.
See Also:
AdministeredObject.getManagedSubcomponent()

getExecutionGroupByName

public ExecutionGroupProxy getExecutionGroupByName(java.lang.String executionGroupName)
                                            throws ConfigManagerProxyPropertyNotInitializedException
Returns the ExecutionGroupProxy object with the supplied name, or null if an execution group of that name does not exist or if the supplied argument was null.

Parameters:
executionGroupName - Name of the execution group
Returns:
ExecutionGroupProxy Configuration Manager Proxy representation of the requested execution group.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the list of available execution groups could not be determined because the Configuration Manager did not supply the broker information to the Configuration Manager Proxy before a timeout occurred.

startMessageFlows

public void startMessageFlows()
                       throws ConfigManagerProxyLoggedException,
                              ConfigManagerProxyPropertyNotInitializedException
Asks the Configuration Manager to start all message flows deployed to the broker.

Note: This method simply invokes the startMessageFlows() method for each ExecutionGroupProxy object logically owned by this BrokerProxy. As such, response notifications will be sent to AdministeredObjectListeners of the ExecutionGroupProxy objects and not the BrokerProxy.

Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on the broker's execution groups was not supplied by the Configuration Manager.
ConfigManagerProxyLoggedException - if the request to start the message flows could not be sent to the Configuration Manager.

stopMessageFlows

public void stopMessageFlows(boolean immediate)
                      throws ConfigManagerProxyLoggedException,
                             ConfigManagerProxyPropertyNotInitializedException
Asks the Configuration Manager to stop all message flows deployed to the broker.

Note: This method simply invokes the stopMessageFlows() method for each ExecutionGroupProxy object logically owned by this BrokerProxy. As such, response notifications will be sent to AdministeredObjectListeners of the ExecutionGroupProxy objects and not the BrokerProxy.

Parameters:
immediate - True if and only if the 'immediate' flag should be used.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on the broker's execution groups is not available.
ConfigManagerProxyLoggedException - if the request to stop the message flows could not be sent to the Configuration Manager.

setUserTrace

public void setUserTrace(MessageFlowProxy.UserTrace newTrace)
                  throws ConfigManagerProxyLoggedException,
                         ConfigManagerProxyPropertyNotInitializedException

Configures the user trace settings for every execution group 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:
ConfigManagerProxyPropertyNotInitializedException - if the list of message flows could not be determined for this execution group because the information was not supplied by the Configuration Manager.
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

isRunning

public boolean isRunning()
                  throws ConfigManagerProxyPropertyNotInitializedException

Returns true if the broker is running.

Returns:
boolean - True if and only if broker.runstate equals "running".
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's run state was not supplied by the Configuration Manager before a timeout occurred.

forceSubscribe

public void forceSubscribe()
                    throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to (re)subscribe itself to the broker's status topics. The status topics tell the Configuration Manager when message flows and other resources start and stop. If the Configuration Manager is not subscribed to these topics, Configuration Manager Proxy applications may show incorrect run state.

It is not usually necessary to call this method. The Configuration Manager will automatically attempt to subscribe to the status topics as required.

This method will have no effect if the connected Configuration Manager is of a version earlier than v6.

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

setUUID

public void setUUID(java.lang.String newUUID)
             throws ConfigManagerProxyLoggedException,
                    java.lang.IllegalArgumentException
Replaces all occurrences of the broker's UUID in the Configuration Manager repository with the supplied value.

If you would like the Configuration Manager to take ownership of a broker that was previously owned by another Configuration Manager, use TopologyProxy.adoptBroker() instead.

This method can be used to attempt to resolve problems with a Configuration Manager's broker definition after receipt of the message BIP2045. In this case, the UUID parameter supplied to this method must equal the UUID parameter that the broker is expecting (included as an insert on the BIP2045 message). This will then allow subsequent deployment requests to succeed on the existing broker without having to recreate it.

A successful processing of the request by the Configuration Manager means that:

  1. all BrokerProxy handles to the modified broker (including this one), and handles to its ExecutionGroupProxy subcomponents, immediately become invalid. After the request is completed by the Configuration Manager, Configuration Manager Proxy applications must ask the TopologyProxy object for a new handle to the BrokerProxy if they wish to subsequently manipulate the broker.
  2. any resources previously deployed to the broker will not be monitored by the Configuration Manager (unless they were already being monitored by that Configuration Manager). This means that the resources and their status cannot be administered by Configuration Manager Proxy applications. Removing all deployed resources and redeploying them to the broker is therefore recommended to allow them to be properly controlled.

As with most other methods in the Configuration Manager Proxy API, note that a successful processing of the request by the Configuration Manager is not the same as a clean return from this method. A successful completion will result in the following notifications:

If the Configuration Manager Proxy is connected to a Configuration Manager of version 5 or earlier, this method will have no effect.

Parameters:
newUUID - String of the form "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" where each x is a hexadecimal digit. For example, "182684ce-0101-0000-0080-db2fb5787d78"). It is expected to be the same string as reported by insert '&2' of BIP2045.
Throws:
ConfigManagerProxyLoggedException - if the request to set the UUID could not be sent to the Configuration Manager.
java.lang.IllegalArgumentException - if the new UUID was not in the correct format.

withUUID

public 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. This provides an easy way of supplying filters to the get*() methods. For example, broker1.getManagedSubcomponent(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.

withName

public 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. This provides an easy way of supplying filters to the get*() calls. For example, broker1.getExecutionGroup(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.

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.

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

getLastDiscoveryTime

public java.util.Date getLastDiscoveryTime(BrokerProxy.SyncType syncType)
Returns the time that the Configuration Manager last discovered the configuration held by the broker.

Parameters:
syncType - The type of synchronization that was performed:
  • MESSAGE_FLOWS describes the last time the broker updated the Configuration Manager on the list of message flows it was running in each execution group
  • RUNTIME_PROPERTIES describes the last time the broker updated the Configuration Manager on the set of active JVM, execution group and security cache configuration settings
  • HTTP_PROPERTIES describes the last time the broker updated the Configuration Manager on the set of active HTTP listener, HTTPS listener and HTTP connector configuration settings
  • CONFIGURABLE_SERVICES describes the last time the broker updated the Configuration Manager on the set of configurable services defined on the broker.
Use BrokerProxy.sync() to force a manual synchronization of all of these configuration areas.
Returns:
Date the time of the synchronization, or null if either no synchronization has occurred or the supplied parameter was null.

getMulticastParameters

public BrokerProxy.MulticastParameterSet getMulticastParameters()
                                                         throws ConfigManagerProxyPropertyNotInitializedException
Deprecated. This method will not reflect any values changed changed using the mqsichangeproperties command; use ExecutionGroupProxy.getRuntimeProperty() instead.

Returns a data structure that contains all the active multicast properties. If a valid set of multicast parameters has not been configured on this broker, null is returned.

Returns:
BrokerProxy.MulticastParameterSet Set of active multicast properties.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if information on this broker's multicast parameters was not supplied by the Configuration Manager before a timeout occurred.

setMulticastParameters

public void setMulticastParameters(BrokerProxy.MulticastParameterSet newParameterSet)
                            throws ConfigManagerProxyLoggedException,
                                   java.lang.IllegalArgumentException
Deprecated. This method is not compatible with values changed using the mqsichangeproperties command; use ExecutionGroupProxy.setRuntimeProperties() instead.

Modifies the set of Multicast parameters for this broker. In order for the settings to take effect the settings need to be deployed.

Parameters:
newParameterSet - BrokerProxy.MulticastParameterSet object containing the new set of parameters for this broker.
Throws:
ConfigManagerProxyLoggedException - if the request to modify the parameters could not be sent to the Configuration Manager.
java.lang.IllegalArgumentException - if any of the policed supplied parameters were found to be invalid.

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.

createSubscriptionQuery

public SubscriptionQuery createSubscriptionQuery()
Create a SubscriptionQuery object that can be used to query this brokers subscriptions.

Returns:
the new SubscriptionQuery query object for this broker

setRuntimeProperty

public void setRuntimeProperty(java.lang.String objectAndPropertyName,
                               java.lang.String propertyValue)
                        throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to configure an arbitrary broker-wide property. The set of properties configurable using this method are those that can be manipulated using the mqsichangeproperties command that does not have the -e -b or -c flags specified.

To set runtime properties that affect an execution group, use ExecutionGroupProxy.setRuntimeProperty(). To set runtime properties that affect the HTTP listener, use BrokerProxy.setHTTPListenerProperty(). To set runtime properties for a configurable service, use BrokerProxy.setConfigurableServiceProperty().

After calling this method, BrokerProxy.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/interbrokerPort" would request a change to the interbroker port 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.

Parameters:
objectAndPropertyName - The complete object and property name of the property being manipulated
propertyValue - The new value to associate with the property
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

setConfigurableServiceProperty

public void setConfigurableServiceProperty(java.lang.String serviceObjectAndPropertyName,
                                           java.lang.String propertyValue)
                                    throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to configure an arbitrary broker-wide configurable service property. The set of properties configurable using this method are those that can be manipulated using the mqsichangeproperties command that has the -c flag specified.

To set runtime properties that affect an execution group, use ExecutionGroupProxy.setRuntimeProperty(). To set runtime properties that affect the HTTP listener, use BrokerProxy.setHTTPListenerProperty(). To set other runtime properties, use BrokerProxy.setRuntimeProperty().

After calling this method, BrokerProxy.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 property names in the RuntimePropertyConstants interface, and you should use these wherever possible. To set properties that are not defined in this interface, the serviceObjectAndPropertyName parameter can also be made up of a String of the form "ConfigurableServiceName/ObjectName/PropertyName", where ConfigurableServiceName, ObjectName and PropertyName are the configurable service, object and property names supplied on the -c, -o and -n parameters respectively of mqsichangeproperties. For example, "JDBCProviders/DB2/account" would request a change to the 'JDBCProviders' service, 'DB2' object, 'account' property. The '/' separator is defined as RuntimePropertyConstants.OBJECT_NAME_DELIMITER.

The list of currently defined property names can be obtained using the method getConfigurableServicePropertyNames(). However, not all property names returned by this method can be set.

Parameters:
serviceObjectAndPropertyName - The complete name of the property being manipulated
propertyValue - The new value to associate with the property
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

setHTTPListenerProperty

public void setHTTPListenerProperty(java.lang.String objectAndPropertyName,
                                    java.lang.String propertyValue)
                             throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to configure an arbitrary property on the broker's HTTP listener component. The set of properties configurable using this method are those that can be manipulated using the mqsichangeproperties command that has the -b flag specified.

To set runtime properties that affect an execution group, use ExecutionGroupProxy.setRuntimeProperty(). To set runtime properties that affect a configurable service, use BrokerProxy.setConfigurableServiceProperty(). To set other runtime properties, use BrokerProxy.setRuntimeProperty().

After calling this method, BrokerProxy.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, "HTTPSConnector/port" would request a change to the HTTPS port property. The '/' separator is defined as RuntimePropertyConstants.OBJECT_NAME_DELIMITER.

The list of currently defined property names can be obtained using the method getHTTPListenerPropertyNames(). However, not all runtime properties returned by this method can be set.

Parameters:
objectAndPropertyName - The complete object and property name of the property being manipulated
propertyValue - The new value to associate with the property
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.

getRuntimeProperty

public java.lang.String getRuntimeProperty(java.lang.String objectAndpropertyName)
                                    throws ConfigManagerProxyPropertyNotInitializedException
Returns the value of the runtime property with the supplied name. The set of properties discoverable in this way are those reported by the getRuntimePropertyNames() method.

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.

Parameters:
objectAndpropertyName - The name of the property to be reported
Returns:
String The value of the supplied property. A value of null means that the property does not exist or has not been set on the broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information could not be determined because the Config Manager has not yet supplied it.

getConfigurableServiceProperty

public java.lang.String getConfigurableServiceProperty(java.lang.String serviceObjectAndPropertyName)
                                                throws ConfigManagerProxyPropertyNotInitializedException
Returns the value of the configurable service runtime property with the supplied name. The set of properties discoverable in this way are those reported by the getConfigurableServicePropertyNames() method.

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 serviceObjectAndPropertyName parameter can be made up of a String of the form "ServiceName/ObjectName/PropertyName", where ServiceName, ObjectName and PropertyName are the configurable service, object and property names supplied on the -c, -o and -n parameters respectively of mqsireportproperties. The '/' separator is defined as RuntimePropertyConstants.OBJECT_NAME_DELIMITER.

Parameters:
serviceObjectAndPropertyName - The complete name of the property to be reported
Returns:
String The value of the supplied property. A value of null means that the property does not exist or has not been set on the broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information could not be determined because the Config Manager has not yet supplied it.

getHTTPListenerProperty

public java.lang.String getHTTPListenerProperty(java.lang.String objectAndpropertyName)
                                         throws ConfigManagerProxyPropertyNotInitializedException
Returns the value of the HTTP listener runtime property with the supplied name. The set of properties discoverable in this way are those reported by the getHTTPListenerPropertyNames() method.

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.

Parameters:
objectAndpropertyName - The name of the property to be reported
Returns:
String The value of the supplied property. A value of null means that the property does not exist or has not been set on the broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information could not be determined because the Config Manager has not yet supplied it.

setPolicySet

public void setPolicySet(java.lang.String policySet,
                         java.io.InputStream policySetContents)
                  throws ConfigManagerProxyLoggedException,
                         java.io.IOException
Asks the broker to save a policy set with the supplied contents. If the name is identical to an existing policy set on the broker, the contents of the existing policy set will be overwritten with the contents of the supplied policy set. An empty or null InputStream has the effect of deleting the policy set of the supplied name.

After calling this method, BrokerProxy.deploy() needs to be called in order to deploy the changed configuration to the broker. It is possible to call BrokerProxy configuration methods multiple times and invoke the deployment once at the end.

This is a convenience method for a specific invocation of the BrokerProxy.setRuntimeProperty() method.

Parameters:
policySet - Name of the policy set
policySetContents - An InputStream containing the contents of the policy set XML file.
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.
java.io.IOException - if policySetContents is invalid

setPolicySetBinding

public void setPolicySetBinding(java.lang.String policySetBinding,
                                java.io.InputStream policySetBindingContents)
                         throws ConfigManagerProxyLoggedException,
                                java.io.IOException
Asks the broker to save policy set binding information with the supplied contents. If the name is identical to an existing policy set binding on the broker, the contents of the existing policy set binding will be overwritten with the contents of the supplied policy set binding. An empty or null InputStream has the effect of deleting the policy set binding of the supplied name.

After calling this method, BrokerProxy.deploy() needs to be called in order to deploy the changed configuration to the broker. It is possible to call BrokerProxy configuration methods multiple times and invoke the deployment once at the end.

This is a convenience method for a specific invocation of the BrokerProxy.setRuntimeProperty() method.

Parameters:
policySetBinding - Name of the policy set binding
policySetBindingContents - An InputStream containing the contents of the policy set binding file.
Throws:
ConfigManagerProxyLoggedException - if the request could not be sent to the Configuration Manager.
java.io.IOException - if policySetBindingContents is invalid

getPolicySet

public java.io.InputStream getPolicySet(java.lang.String policySet)
                                 throws ConfigManagerProxyPropertyNotInitializedException
Asks the broker to return the contents of a policy set with the supplied name. If the returned InputStream is empty, it means that there is no policy set of the supplied name; use BrokerProxy.getPolicySetNames() to discover the list of valid policy set names.

The property is discovered directly an synchronously from the broker runtime and will block until the broker has responded or the timeout condition set by the timeToWaitMs value is reached. The value is not cached on the Configuration Manager or within the Configuration Manager Proxy. Therefore, it is advisable to call this method sparingly.

This is a convenience method for a specific invocation of the BrokerProxy.getRuntimeProperty() method.

Parameters:
policySet - Name of the policy set
Returns:
InputStream the contents of the policy set of the supplied name. An empty InputStream means that there is no policy set of the supplied name deployed to the broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information could not be determined because the Config Manager has not yet supplied them.

getPolicySetBinding

public java.io.InputStream getPolicySetBinding(java.lang.String policySetBinding)
                                        throws ConfigManagerProxyPropertyNotInitializedException
Asks the broker to return the contents of a policy set binding with the supplied name. If the returned InputStream is empty, it means that there is no policy set binding of the supplied name; use BrokerProxy.getPolicySetBindingNames() to discover the list of valid policy set binding names.

The property is discovered directly an synchronously from the broker runtime and will block until the broker has responded or the timeout condition set by the timeToWaitMs value is reached. The value is not cached on the Configuration Manager or within the Configuration Manager Proxy. Therefore, it is advisable to call this method sparingly.

This is a convenience method for a specific invocation of the BrokerProxy.getRuntimeProperty() method.

Parameters:
policySetBinding - Name of the policy set binding
Returns:
InputStream the contents of the policy set of the supplied name. An empty InputStream means that there is no policy set binding of the supplied name deployed to the broker.
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information could not be determined because the Config Manager has not yet supplied them.

getPolicySetNames

public java.lang.String[] getPolicySetNames()
                                     throws ConfigManagerProxyPropertyNotInitializedException
Asks the broker to return the names of the policy sets deployed on the broker.

The property is discovered directly and synchronously from the broker runtime and will block until the broker has responded or the timeout condition set by the timeToWaitMs value is reached. The value is not cached on the Configuration Manager or within the Configuration Manager Proxy. Therefore, it is advisable to call this method sparingly.

Returns:
String[] the names of the deployed policy sets
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information could not be determined because the Config Manager has not yet supplied them.

getPolicySetBindingNames

public java.lang.String[] getPolicySetBindingNames()
                                            throws ConfigManagerProxyPropertyNotInitializedException
Asks the broker to return the names of the policy set bindings deployed on the broker.

The property is discovered directly and synchronously from the broker runtime and will block until the broker has responded or the timeout condition set by the timeToWaitMs value is reached. The value is not cached on the Configuration Manager or within the Configuration Manager Proxy. Therefore, it is advisable to call this method sparingly.

Returns:
String[] the names of the deployed policy set bindings
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information could not be determined because the Config Manager has not yet supplied them.

discoverConfiguration

public void discoverConfiguration()
                           throws ConfigManagerProxyLoggedException
Asks the Configuration Manager to replace the information that it holds regarding a broker and its configuration with information provided by the broker itself. The following pieces of information will be replaced in the Configuration Manager's repository:

Invoking this method is not usually necessary, as the Configuration Manager will automatically synchronize itself every sixty minutes with all brokers in the domain. Use this method if you have recently modified the broker's properties without using a Configuration Manager Proxy application (e.g. using mqsichangeproperties) and this is not yet reflected in Configuration Manager Proxy applications. Also use this method if you suspect that the Configuration Manager and the broker are not synchronized, and you do not wish to wait for the next automatic synchronisation to occur.

This is an asynchronous operation. The Configuration Manager's repository may not be updated until some time after this method returns, although you can use getLastDiscoveryTime() to find out when this occurs.

Throws:
ConfigManagerProxyLoggedException

getQueues

public java.lang.String[] getQueues()
                             throws ConfigManagerProxyPropertyNotInitializedException
Returns a list of the MQ queues referenced by the message flows in use by this broker. Only queues directly referenced by the following nodes are reported: Each element of the returned list contains any queue name parameter that was specified when each flow was deployed. If a queue manager name was also supplied this will be described in the same element, before the queue name and separated by a forward slash character ('/') - for example, "WBRK6_DEFAULT_QUEUE_MANAGER/TEST.QUEUE". The slash character is defined by the constant AttributeConstants.MESSAGEFLOW_QMGRQUEUE_DELIMITER.

This method works by aggregating the responses from calling the ExecutionGroupProxy.getQueues() method for each execution group that is currently active on the broker.

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.

This method

Returns:
String[] the names of the queues that were specified during deployment
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information has not yet been supplied by the Configuration manager.

getNodeTypes

public java.lang.String[] getNodeTypes()
                                throws ConfigManagerProxyPropertyNotInitializedException
Returns a list of the types of nodes used in this broker. The names returned are the internal names, which are unique for every node type.

This method works by aggregating the responses from calling the ExecutionGroupProxy.getNodeTypes() method for each execution group that is currently active on the broker.

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.

Returns:
String[] the names of the node types that were specified during deployment
Throws:
ConfigManagerProxyPropertyNotInitializedException - if the information has not yet been supplied by the Configuration manager.