Antes de empezar
Antes de iniciar este tema, tiene que haber completado las instrucciones del apartado Conexión a un Gestor de configuración utilizando el Proxy del Gestor de configuración.
import com.ibm.broker.config.proxy.*; public class SetLongDescription { public static void main(String[] args) { ConfigManagerProxy cmp = null; try { ConfigManagerConnectionParameters cmcp = new MQConfigManagerConnectionParameters( "localhost", 1414, ""); cmp = ConfigManagerProxy.getInstance(cmcp); } catch (ConfigManagerProxyException cmpex) { System.out.println("Error connecting: "+cmpex); } if (cmp != null) { System.out.println("Connected to Config Manager!"); describeBroker(cmp, "B1", "this is my broker"); cmp.disconnect(); } } private static void describeBroker(ConfigManagerProxy cmp, String brokerName, String newDesc) { BrokerProxy b = null; try { TopologyProxy topology = cmp.getTopology(); if (topology != null) { b = topology.getBrokerByName(brokerName); } } catch(ConfigManagerProxyPropertyNotInitializedException ex) { System.err.println("Comms problem! "+ex); } if (b != null) { try { b.setLongDescription(newDesc); } catch (ConfigManagerProxyException ex) { System.err.println("Could not send request to CM: "+ex); } } else { System.err.println("Broker "+brokerName+" not found"); } } }
Properties p = new Properties(); p.setProperty(AttributeConstants.LONG_DESCRIPTION_PROPERTY, newDesc); b.setProperties(p);
Tenga en cuenta que si el usuario actual no tiene las autorizaciones necesarias, a medida que SetLongDescription.java se ejecute no será posible determinar si la petición es rechazada por el Gestor de configuración. El método CMP para establecer el campo de descripción larga genera ConfigManagerProxyException si, y sólo si, el mensaje para ejecutar la operación no puede enviarse al Gestor de configuración. Esto significa que la salida del programa es exactamente igual, incluso si el Gestor de configuración no puede cambiar la propiedad requerida.
El motivo de esto es que el Gestor de configuración procesa peticiones procedentes del CMP de forma asíncrona y, por lo tanto, puede transcurrir teóricamente un tiempo considerable hasta que la acción se lleva a cabo en el Gestor de configuración. Si métodos parecidos a los descritos en este tema no devuelven el control al programa hasta que quedan disponibles los códigos de terminación, el rendimiento de la aplicación CMP dependería totalmente del rendimiento del Gestor de configuración.
Siguiente:
El diseño de la mayoría de métodos CMP de cambio de estado implica devolver inmediatamente, sin informar a la aplicación de llamada, del resultado de la solicitud. Para conocer esta información, consulte el apartado Comprobación de los resultados de la gestión del dominio de intermediarios utilizando el Proxy del Gestor de configuración