Antes de começar
Antes de iniciar este tópico, você deve ter concluído Conectando a um Gerenciador de Configuração Utilizando o Configuration Manager Proxy.
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);
Observe que, se o usuário atual não tiver as permissões necessárias, como funciona SetLongDescription.java, não será possível determinar se o pedido será rejeitado pelo Gerenciador de Configuração. O método do CMP para configurar o campo long description emite uma ConfigManagerProxyException se e apenas se a mensagem para desempenhar a operação não puder ser enviada para o Gerenciador de Configuração. Isto significa que a saída do programa é exatamente a mesma, mesmo que o Gerenciador de Configuração não possa alterar a propriedade requerida.
O motivo é que o Gerenciador de Configuração processa pedidos do CMP assincronamente e, portanto pode, teoricamente, decorrer um período considerável até que a ação seja desempenhada no Gerenciador de Configuração. Se métodos como o descrito neste tópico não retornarem o controle ao programa até que os códigos de conclusão sejam disponibilizados, o desempenho do aplicativo do CMP dependerá totalmente do desempenho do Gerenciador de Configuração.
Em seguida:
O design da maioria dos métodos do CMP de alteração de estado é retornar imediatamente sem informar o aplicativo de chamada do resultado do pedido. Para descobrir estas informações, consulte Verificando os Resultados do Gerenciamento de Domínios Intermediários Utilizando o Configuration Manager Proxy