Ao alterar a topologia Publicação/Assinatura estas alterações devem ser implementadas pelo domínio do intermediário.
Antes de iniciar:
Certifique-se de que tenha configurado seu domínio intermediário.
Depois de implementar uma topologia de Publicação/Assinatura, você pode ver um processo do grupo de execução extra chamado $SYS_mqsi em uma listagem do processo ou na saída do comando mqsilist. Ao implementar uma topologia Publicação/Assinatura pela primeira vez, um novo processo de grupo de execução é iniciado em seu intermediário para manipular as mensagens do Publicação/Assinatura. Este grupo de execução é utilizado apenas internamente: ele não aparece no ambiente de trabalho e não é possível implementar fluxos de mensagens nele. Após ter implementado um ou mais de seus próprios fluxos para outro grupo de execução, o $SYS_mqsi é removido quando o intermediário é reiniciado subseqüentemente.
É possível configurar o ambiente de trabalho para que as informações de topologia sejam implementadas automaticamente após uma alteração. Consulte o Alterando Preferências de Administração do Intermediário
Siga estas etapas para implementar manualmente uma configuração de topologia utilizando o ambiente de trabalho:
A topologia é implementada e o Configuration Manager o distribui para os intermediários no domínio.
Em seguida:
Siga estas etapas para implementar uma configuração de topologia utilizando o comando mqsideploy:
Em seguida:
Utilize o método deploy da classe TopologyProxy. Por padrão, o método implementação desempenha uma implementação incremental (delta). Para implementar a hierarquia completa, utilize uma variante do método que inclua o parâmetro Booleano isDelta configurado como false. Configurar este parâmetro para true indica uma implementação incremental.
import com.ibm.broker.config.proxy.*; public class DeployTopology { public static void main(String[] args) { ConfigManagerConnectionParameters cmcp = new MQConfigManagerConnectionParameters ("localhost", 1414, "QM1"); try { ConfigManagerProxy cmp = ConfigManagerProxy.getInstance(cmcp); TopologyProxy t = cmp.getTopology(); t.deploy(false); } catch (ConfigManagerProxyException e) { e.printStackTrace(); } } }
Em seguida: