Conectar um aplicativo do CMP a um Configuration Manager para enviar pedidos sobre recursos no domínio do intermediário.
Antes de começar
Antes de iniciar esta etapa, é necessário ter concluído Configurando um Ambiente para Desenvolvimento e Execução de Aplicativos do Configuration Manager Proxy.
import com.ibm.broker.config.proxy.*; public class ConfigManagerRunStateChecker { public static void main(String[] args) { displayConfigManagerRunState("localhost", 1414, ""); } public static void displayConfigManagerRunState(String hostname, int port, String qmgr) { ConfigManagerProxy cmp = null; try { ConfigManagerConnectionParameters cmcp = new MQConfigManagerConnectionParameters(hostname, port, qmgr); cmp = ConfigManagerProxy.getInstance(cmcp); String configManagerName = cmp.getName(); System.out.println("Configuration Manager '"+configManagerName+ "' is available!"); cmp.disconnect(); } catch (ConfigManagerProxyException ex) { System.out.println("Configuration Manager is NOT available"+ " because "+ex); } } }
A primeira linha do programa solicita que Java importe as classes do CMP. Todas as classes do CMP estão no pacote com.ibm.broker.config.proxy.
A primeira linha dentro do bloco try do método displayConfigManagerRunState() instancia um objeto ConfigManagerConnectionParameters. Este método é uma interface que indica que as classes de implementação podem fornecer os parâmetros para conectar-se a um Configuration Manager.
Quando tiver definido este objeto, você poderá conectar-se ao gerenciador de fila com essas características. A conexão é obtida pelo método do gerador de getInstance() estático que se encontra dentro do bloco try. Quando um identificador válido para o Configuration Manager é obtido, o aplicativo tenta descobrir o nome do Configuration Manager (cmp.getName()) e exibi-lo.
getName() e outros métodos que solicitam informações do Configuration Manager ficam bloqueados até que as informações sejam fornecidas ou ocorra um tempo limite. Portanto, se o Configuration Manager não estiver em execução, o aplicativo ficará interrompido por um período. Você pode controlar o tempo limite utilizando o método ConfigManagerProxy.setRetryCharacteristics(). Geralmente, o bloqueio ocorre apenas quando um determinado recurso é acessado pela primeira vez em um aplicativo.
Por último, o método disconnect() é chamado. Este método libera recursos associados à conexão no CMP e no Configuration Manager.
Quando uma manipulação ConfigManagerProxy é retornada pela primeira vez do método getInstance(), o serviço Configuration Manager não está necessariamente em execução. E apenas quando o aplicativo tenta utilizar o identificador (chamando getName() neste exemplo) que o aplicativo pode ter certeza de que uma conexão bidirecional com o Configuration Manager está ativa.