Use o comando mqsistopmsgflow para parar grupos de execução, aplicativos e fluxos de mensagens.
Para usar esse comando, você já deverá ter implementado o fluxos de mensagens, se especificado, para o broker em um arquivo broker archive (BAR).
O broker processa todas as mensagens em andamento e as transações associadas de cada fluxo de mensagens antes que o broker pare. Para obter informações sobre como unidades de trabalho pendentes são tratadas nesta situação, consulte Transações de Fluxos de Mensagens.
>>-mqsistopmsgflow--| brokerSpec |------------------------------> >--+- -e --executionGroupName-+--+--------------+---------------> '- -g ---------------------' +- -m flowName-+ '- -j ---------' >--+---------------------+--+---------------------+-------------> +- -k applicationName-+ '- -v --traceFileName-' '- -z ----------------' >--+-------------------+--+-------------------+---------------->< '- -w --timeoutSecs-' '- -y --libraryName-' brokerSpec |--+- brokerName ----------------+------------------------------| +- -n --brokerFileName--------+ | .-------------------------. | | V | | '-----+- -i --ipAddress-+---+-' +- -p --port------+ '- -q --qMgr------'
Use esta opção se múltiplos usuários desejarem se conectar ao mesmo broker ou se você estiver usando parâmetros de conexão avançada, como SSL.
Para criar este arquivo, clique com o botão direito do mouse no broker no WebSphere® Message Broker Explorer e selecione Exportar Arquivo *.broker. Quando solicitado, navegue para o local no qual você deseja salvar o arquivo e insira o nome do arquivo; a extensão .broker é anexada automaticamente ao clicar em Salvar. Inclua o local (caminho) e o nome do arquivo quando especificar este parâmetro. Você deverá assegurar que o local seja acessível quando executar este comando.
Para executar um comando que use SSL para administrar um broker remoto através de um canal seguro, você deve especificar a senha de keystore e de truststore da conexão usando a variável de ambiente IBM_JAVA_OPTIONS. Consulte Resolvendo Problemas ao Executar Comandos para obter informações adicionais.
Use esta opção para conexões com brokers remotos que não requerem parâmetros de conexão avançada.
Se você escolher esta opção, deverá especificar pelo menos um destes três parâmetros; a ordem na qual eles são especificados é insignificante. Não é possível especificar cada parâmetro mais de uma vez.
Os parâmetros que forem omitidos assumirão valores-padrão:
Se você especificar -e sem -m ou -j, o grupo de execução é parado. O estado de cada fluxo de mensagens (parado ou iniciado) é retido e fluxos de mensagens iniciados são iniciados quando o grupo de execução for iniciado novamente.
Se você especificar -e com -m ou -j, o grupo de execução deve estar executando. Se o grupo de execução for parado, o pedido é rejeitado.
Se você especificar -g sem -m ou -j, todos os grupos de execução serão parados. O estado de cada fluxo de mensagens (iniciado ou parado) é retido para cada grupo de execução e os fluxos de mensagens iniciados serão iniciados quando o grupo de execução for iniciado novamente.
Se você especificar -g com -m ou -j, o fluxo ou fluxos de mensagens especificado(s) são parados apenas se o grupo de execução estiver executando. O pedido verifica todos os grupos de execução e para os fluxos de mensagens nos grupos de execução que estão em execução atualmente. O erro BIP2851 é relatado para cada grupo de execução que não está executando.
(Opcional) Todos os fluxos de mensagens no grupo de execução especificado são interrompidos; o grupo de execução não é interrompido.
Se você configurar esse parâmetro, todos os fluxos de mensagens no grupo de execução serão interrompidos, independentemente de estarem no nível do grupo de execução, em um aplicativo ou em uma biblioteca. Nenhum aplicativo é interrompido. Se você configurar o parâmetro -j com o parâmetro -z, todos os aplicativos no grupo de execução serão parados e os fluxos de mensagens que estiverem no nível do grupo de execução ou nas bibliotecas no nível do grupo de execução serão parados. A combinação dos parâmetros -j e -z não para fluxos de mensagens dentro de aplicativos ou fluxos de mensagens dentro de bibliotecas contidas em aplicativos.
Se você não especificar -j ou -m, o grupo de execução identificado por -e (se especificado), ou todos os grupos de execução nesse broker, serão interrompidos.
Se você configurar o parâmetro –k, também deverá configurar o parâmetro –e. Se configurar o parâmetro –k, mas não configurar o parâmetro –m, o aplicativo será interrompido. Quando um aplicativo é interrompido, os fluxos de mensagens que ele contém não são executados. Se você configurar o parâmetro -m, o fluxo de mensagens nomeado no aplicativo será interrompido.
Se você configurar o parâmetro -j com o parâmetro -k, todos os fluxos de mensagens no aplicativo especificado serão interrompidos, incluindo o fluxos de mensagens nas bibliotecas referenciadas. O Fluxos de Mensagens em outros aplicativos ou no nível do grupo de execução não serão interrompidos. O aplicativo não é interrompido.
Se você configurar o parâmetro -k com o parâmetro -m ou -j, assegure-se de que o aplicativo especificado pelo parâmetro -k esteja em execução. Não é possível parar fluxos de mensagens em um aplicativo que não foi iniciado.
Não é possível configurar os parâmetros –k e –z.
Você pode especificar somente um fluxo de mensagens em um único comando. Para parar todos os fluxos de mensagens implementados no broker, ou no grupo de execução identificado por -e, especifique -j.
Se você configurar o parâmetro –y, também deverá configurar o parâmetro –e. Se você configurar o parâmetro -m, o fluxo de mensagens nomeado na biblioteca será parado.
Se você configurar o parâmetro -j com o parâmetro -y, todos os fluxos de mensagens na biblioteca especificada serão interrompidos. Os Fluxos de Mensagens em outras bibliotecas ou no nível do grupo de execução não serão interrompidos.
Para parar todos os fluxos em uma biblioteca específica em um aplicativo, use o parâmetro –y com o parâmetro –k. Quando você usa uma combinação dos parâmetros -y e -k, apenas os fluxos na biblioteca nomeada no aplicativo nomeado são interrompidos. Nenhum fluxo é interrompido no nível do aplicativo, ou em outras bibliotecas no aplicativo. Nenhum fluxo é interrompido em nenhum outro aplicativo ou no nível do grupo de execução. O aplicativo não é interrompido.
Se você configurar o parâmetro -j com o parâmetro -z, todos os aplicativos no grupo de execução serão parados e os fluxos de mensagens que estiverem no nível do grupo de execução ou nas bibliotecas no nível do grupo de execução serão parados. A combinação dos parâmetros -j e -z não para fluxos de mensagens dentro de aplicativos ou fluxos de mensagens dentro de bibliotecas contidas em aplicativos.
Se você tentar se conectar a um broker remoto especificando os parâmetros i, p e q ou usando um arquivo de parâmetro de conexão (.broker), o comando tentará usar o código do cliente WebSphere MQ Java™. Esta opção não é suportada no z/OS e retorna o seguinte erro:
BIP1046E: Não é possível se conectar ao broker (name)
O código de razão relatado é MQRC_ENVIRONMENT_ERROR. É necessário especificar um gerenciador de filas locais.
mqsistopmsgflow MB8BROKER -e eg2
mqsistopmsgflow MB8BROKER -g
Pare o fluxo de mensagens myFlow1 no aplicativo myApplication no grupo de execução padrão:
mqsistopmsgflow MB8BROKER -e default -k myApplication -m myFlow1
Pare o fluxo de mensagens myFlow1 na biblioteca myLibrary,referenciada pelo aplicativo myApplication no grupo de execução padrão:
mqsistopmsgflow MB8BROKER -e default -k myApplication -y myLibrary -m myFlow1
Pare todos os fluxos de mensagens e pare todos os aplicativos no grupo de execução padrão:
mqsistopmsgflow MB8BROKER -e default -z -j