Comando mqsicreatebroker

Plataformas Suportadas

  • Plataformas 2000, XP
  • z/OS

Finalidade

Nas plataformas e plataformas , o comando :
  • Cria um gerenciador de filas do , se ainda não existir um.
    Nota:
    1. Se um gerenciador de filas do for criado como resultado da utilização do comando , a DLQ padrão fornecida pelo (SYSTEM.DEAD.LETTER.QUEUE) será automaticamente ativada. As definições de segurança são iguais às de outras filas do específicas do intermediário.

      Se você optar por criar o gerenciador de filas separadamente, deverá configurar uma DLQ (Dead Letter Queue). A DLQ é referida pelo quando ocorrem erros no processamento de mensagens nos .

      Se uma mensagem em um fluxo de mensagens definido pelo usuário ou no modelo de publicação/assinatura não puder ser processada, ela será roteada para essa DLQ como um último recurso. Se você preferir que a mensagem seja recuperada para a fila de entrada, descontinuando efetivamente o fluxo de mensagens até que o problema seja resolvido, será necessário desativar a DLQ.

      O comando mqsideletebroker não exclui essa fila (a menos que o gerenciador de filas seja excluído).

    2. Se estiver utilizando um gerenciador de filas do que foi criado independentemente do comando , será possível definir clusters, se você preferir.Isto simplifica a configuração na maioria dos casos.

  • Inicia o gerenciador de filas do , se ele ainda não estiver em execução.

    Se o gerenciador de filas for criado por este comando, ele não será iniciado como um serviço do ; portanto, ele será interrompido caso efetue log off. Para evitar que isso ocorra, é necessário permanecer conectado ou alterar o status de inicialização do serviço do gerenciador de filas. (Se você travar sua estação de trabalho, o gerenciador de filas do não será parado).

  • Cria as filas específicas para intermediário do, caso ainda não existam.
  • Cria tabelas do banco de dados para o intermediário, se ainda não existirem, ou inclui linhas específicas nesse intermediário em tabelas existentes.
  • Em plataformas , instala um serviço sob o qual o intermediário será executado.
  • Cria um registro para o componente no registro do intermediário.

No , não são executadas definições relacionadas ao DB2 ou ao .

No , esse comando deve ser executado em um código de idioma do C. Isto significa que as mensagens são produzidas em inglês, independentemente do código de idioma do usuário atual.

Sintaxe

Plataformas Windows e plataformas UNIX

z/OS

Parâmetros

brokername
(Obrigatório) O nome do intermediário que você deseja criar. Ele deve ser o primeiro parâmetro, e sofre distinção entre maiúsculas e minúsculas em plataformas .
No z/OS:
  • Se você criar um nome de intermediário em letras maiúsculas, deverá utilizá-lo em letras maiúsculas para seu intermediário no .
  • Utilize o nome do intermediário a partir de sua cópia da lista de verificação Arquivo de Entrada de Personalização.
Para saber quais restrições do conjunto de caracteres podem ser utilizadas, consulte Caracteres Permitidos em Comandos.
-i ServiceUserID
(Obrigatório - apenas plataformas Windows e UNIX) O ID do usuário com o qual o intermediário será executado.

Pode ser especificado em qualquer sintaxe válida do username. Em plataformas Windows, são:

  • domain\username
  • \\server\username
  • .\username
  • username

Em sistemas , apenas o último formato, username, é válido.

Se você utilizar o formato não qualificado para este ID do usuário (username) em plataformas Windows, o sistema operacional pesquisa o ID do usuário em todo o seu domínio, começando com o sistema local. Essa pesquisa pode levar algum tempo para concluir.

O ServiceUserID especificado deve ser um membro do grupo local mqbrkrs. Em plataformas Windows, ele pode ser membro direto ou indireto do grupo. O ServiceUserID também deve ter autorização para acessar o diretório home (em que o foi instalado), e o diretório de trabalho (se especificado pelo sinalizador -w).

Em plataformas Windows, se você especificar que o intermediário deve ser executado como um aplicativo confiável do (sinalizador -t), também deverá incluir esse ID de usuário no grupo mqm. Em plataformas , especifique o ServiceUserID como mqm, se você definir o sinalizador -t.

Os requisitos de segurança para ServiceUserID são detalhados em Requisitos de Segurança para Plataformas.

Se você utilizar esse ID de usuário para acesso ao banco de dados (ou seja, você não especifica um ID de usuário diferente com o sinalizador -u) e estiver utilizando o SQL Server para seu banco de dados, você deverá criar esse ID como um ID de login do SQL Server e fornecer o acesso correto a ele antes de criar o intermediário (consulte Considerando a Segurança para um Intermediário para obter detalhes adicionais). Se o banco de dados do intermediário existir no DB2 e esse ID de usuário não for conhecido pelo DB2, o DB2 o criará automaticamente.

-a ServicePassword
(Obrigatório - apenas plataformas Windows e UNIX) A senha para o ServiceUserID. Em plataformas -a é requerido para compatibilidade com plataformas Windows, mas não é utilizado em relação ao ServiceUserID. Ele será utilizado como um padrão apenas se -p não estiver especificado. (Veja as notas sobre o parâmetro -p para obter detalhes adicionais).
-q QueueManagerName
(Obrigatório) O nome do gerenciador de filas associado a este intermediário. Utilize o mesmo nome para seu intermediário e o gerenciador de filas para simplificar a organização e a administração de sua rede. Nomes de gerenciadores de filas são limitados a 48 caracteres e fazem distinção entre maiúsculas e minúsculas.

Se o gerenciador de filas ainda não existir, ele será criado por este comando. Ele não será criado como o gerenciador de filas padrão. Se desejar que esse gerenciador seja o padrão neste sistema, você deve criá-lo antes de emitir esse comando ou utilizar os Serviços do para alterar as definições desse gerenciador de filas para torná-lo padrão.

O atributo do gerenciador de filas MAXMSGL (comprimento máximo de mensagens que podem ser colocadas em filas) é atualizado para 100 MB. Isto é feito independentemente de o gerenciador de filas ter sido criado por este comando.

Início da mudançaPara saber quais restrições do conjunto de caracteres podem ser utilizadas, consulte Caracteres Permitidos em Comandos.Fim da mudança

-c <ComponentDirectory>
(Obrigatório - z/OS) O diretório raiz do intermediário criado. Por exemplo, /var/wmqi/MQP1BRK
-n DataSourceName
(Obrigatório - plataformas Windows e UNIX) O DSN (Data Source Name) ODBC do banco de dados no qual as tabelas do intermediário são criadas. Este deve ser o DSN, não o nome do banco de dados, se você não tiver utilizado o mesmo nome para ambos.

Esse banco de dados já deve existir. É preciso criar uma conexão ODBC de DSN do Sistema para esse DSN, se isso ainda não tiver sido feito.

-u DataSourceUserID
(Opcional - plataformas e ) O ID do usuário com o qual os bancos de dados que contêm tabelas do intermediário e dados do usuário devem ser acessados. Caso ele não seja especificado, o padrão utilizado será o valor especificado por -i.

Este ID do usuário deve ter autoridade para criar tabelas neste banco de dados, e para leitura e gravação nestas tabelas.

Em plataformas, caso seu banco de dados do intermediário existir no DB2, e este ID de usuário não for conhecido pelo DB2, ele será criado para você dentro do DB2. Em plataformas , o usuário do serviço deve ter recebido anteriormente o privilégio correto. Se seu banco de dados for SQL Server, você deve criar esse ID de usuário como um ID de login do SQL Server e fornecer o acesso correto a ele antes de criar o intermediário (consulte Requisitos de Segurança para Plataformas para obter detalhes adicionais).

Se você tiver um banco de dados do aplicativo no DB2 que foi criado por esse ID de usuário ou para o qual esse ID tem autoridade apropriada de leitura, gravação ou criação, os fluxos de mensagens em execução nesse intermediário poderão acessar e manipular os dados do aplicativo contidos nele sem precisar especificar nomes explícitos de esquemas.

-p DataSourcePassword
(Opcional - plataformas e ) A senha do ID do usuário com o qual os bancos de dados, que contêm tabelas do intermediário e dados do usuário, devem ser acessados. Se não for especificada, será assumido como padrão ServicePassword especificado por -a. Para DB2 em plataformas, -u e-p podem ser especificados como cadeias vazias (duas aspas duplas "") . Nesse caso, o DB2 concede a os privilégios do ServiceUserID que resulta em uma conexão com o banco de dados como "já verificada". Se você especificar-a como uma cadeia vazia, além de -u e -p, nenhuma senha será armazenada pelo , criando a conexão mais segura.
-s UserNameServerQueueManagerName
(Opcional) O nome do gerenciador de filas do que está associado ao . Você deve especificar este parâmetro caso requeira serviços de autenticação ou controle de acesso de publicação/assinatura. Se não estiver especificado, o intermediário assumirá que não existe nenhum definido.
-j
(Opcional) Você deve especificar este sinalizador juntamente como parâmetro -s UserNameServerQueueManagerName para ativar o controle de acesso de publicação/assinatura.
-w Workpath
(Opcional - plataformas e ) O diretório no qual os arquivos de trabalho desse intermediário são armazenados. Se essa opção não for especificada, os arquivos serão armazenados no caminho de trabalho padrão, especificado durante a instalação do produto. Se especificado, é necessário criar este diretório antes de iniciar o intermediário. Em plataformas , ele não pode estar em uma unidade de rede.

Este diretório também é utilizado para registros de rastreio criados quando o rastreio estiver ativo. Eles são gravados em um subdiretório log, que deve ser criado antes de iniciar o intermediário.

Os logs de erros gravados pelo intermediário quando um processo é finalizado anormalmente são armazenados neste diretório. Em plataformas , utilize essa opção para especificar um diretório em uma unidade diferente daquela na qual o produto está instalado.

O log de erros é desvinculado e continua se expandindo. Verifique esse diretório periodicamente e limpe as informações de erro antigas.

Não é possível alterar esta opção utilizando o comando. Se desejar especificar ou alterar o caminho de trabalho, exclua e crie novamente o intermediário.

-t
(Opcional - plataformas e ) O intermediário está configurado para executar como um aplicativo confiável do .

Esta opção não está disponível no AIX. Se especificada, o sinalizador será ignorado.

Se você especificar essa opção em plataformas , inclua o ServiceUserID (identificado pelo sinalizador -i) no grupo mqm. Se você especificar essa opção no e no Solaris, deverá especificar ServiceUserID como mqm. Para obter detalhes adicionais sobre como utilizar aplicativos confiáveis do , consulte Intercommunication.

-m
(Opcional - plataformas e ) Migre um intermediário do existente. Se você especificar esta opção, o gerenciador de filas identificado por -q deve ser o gerenciador de filas utilizado pelo intermediário do .
-l UserLilPath
(Opcional - plataformas e ) Uma lista de caminhos (diretórios) dos quais o intermediário carrega LILs (Loadable Implementation Libraries) para nós de processamento de mensagens de plug-ins criados pelo usuário.

O diretório padrão é o subdiretório \bin de<>. Esse diretório sempre é procurado primeiro: se você preferir carregar LILs de outros diretórios, especifique diretórios adicionais utilizando esse sinalizador.

Caso especifique mais de um diretório adicional, eles devem ser separados pelo separador de caminhos específico para plataformas (ponto-e-vírgula (;) em plataformas , dois pontos (:) em plataformas ).

Você não pode incluir variáveis de ambiente neste caminho: se fizer isso, elas serão ignoradas.

-g ConfigurationTimeout
(Opcional) O período de tempo (em segundos) que um grupo de execução no intermediário tem permissão para aplicar uma alteração na configuração (por exemplo, uma atualização implementada a partir do ).

Quando um fluxo de mensagens estiver processando uma mensagem do aplicativo, ele não poderá responder a uma alteração de configuração. Se qualquer um dos fluxos de mensagens no grupo de execução que tiver recebido solicitação para alterar sua configuração não concluir o processamento de uma mensagem do aplicativo e aplicar a alteração da configuração neste tempo limite, o grupo de execução retornará uma resposta negativa à mensagem de configuração implementada.

O valor definido para este tempo limite depende do carregamento do sistema (incluindo utilização da CPU) e do carregamento de cada grupo de execução. Você pode fazer uma estimativa inicial implementando toda a configuração do intermediário. O tempo gasto para que isso seja concluído com êxito fornece uma indicação do valor mínimo que deve ser definido.

O valor é especificado em segundos e pode variar de 10 a 3600. O valor padrão é 300.

A soma de ConfigurationTimeout e de ConfigurationDelayTimeout (descritos abaixo) representa o período máximo de tempo que um intermediário tem permissão para processar uma mensagem de configuração implementada antes de gerar uma resposta negativa.

-k ConfigurationDelayTimeout
(Opcional) O período de tempo (em segundos) em que um intermediário tem permissão para processar uma alteração mínima na configuração (por exemplo, uma atualização implementada a partir do ).

Isso representa o tempo gasto para que uma mensagem de configuração mínima implementada seja processada pelo intermediário e seus grupos de execução e depende de retardos da rede do gerenciador de filas, da carga no gerenciador de filas do intermediário e da carga do sistema.

É possível estimar este valor emitindo um comando para solicitar uma alteração de configuração simples, por exemplo:
  • Em plataformas e
    
     brokerName -e "Execution Group Name" -u
  • No z/OS
    F MQP1BRK,reporttrace u=yes,e='exgrp1'

O tempo de resposta de cada grupo de execução se difere, de acordo com o carregamento do sistema e do carregamento de seus próprios processos. O valor definido deve refletir o tempo de resposta mais longo gasto por qualquer grupo de execução para responder. Se o valor definido for muito baixo, o intermediário retornará uma resposta negativa e poderá emitir mensagens de erro no log de erros local.

O valor é especificado em segundos e pode variar de 10 a 3600. O valor padrão é 60.

Se o intermediário estiver em um sistema de produção, aumente os valores para ConfigurationTimeout e ConfigurationDelayTimeout para permitir que mensagens do aplicativo que estão sendo processadas por fluxos de mensagens sejam concluídas antes da aplicação da alteração da configuração.

Se o intermediário estiver em um sistema de desenvolvimento ou de teste, talvez você queira reduzir tempos limites (em específico, o ConfigurationTimeout) para aprimorar os tempos de resposta recebidos e para forçar uma resposta de um intermediário que não esteja mostrando o comportamento esperado. No entanto, a redução dos valores de tempo limite reduz a probabilidade de implementação bem-sucedida de uma alteração de configuração.

-PHTTPPort
(Opcional - plataformas e ) Digite o nome da porta na qual o suporte a serviços da Web está atendendo.

Esse listener é iniciado pelo intermediário quando um fluxo de mensagens que inclui o suporte a serviços da Web é iniciado e possui um valor padrão de 7080.

Verifique se a porta especificada não foi especificada para nenhuma outra finalidade.

-vstatisticsarchiveinterval
(Opcional) O intervalo do cronômetro, em minutos, no qual as estatísticas e a contabilidade do são notificadas de que os registros de archive devem ser gerados. Para contabilidade interna, o intervalo válido é de 10 a 14400 minutos.

Um intervalo de zero minuto indica que a plataforma possui um método externo de notificação e não está utilizando um cronômetro interno no .

Autorização

Em plataformas , o ID de usuário utilizado para chamar este comando deve ter autoridade de Administrador no sistema local.

Em plataformas , o ID do usuário utilizado para chamar este comando deve ser root ou deve ser igual ao especificado no parâmetro -i. Ele também deve ser membro do grupo mqbrkrs.

Filas do WebSphere MQ Criadas

  • SYSTEM.BROKER.ADMIN.QUEUE
  • SYSTEM.BROKER.CONTROL.QUEUE
  • SYSTEM.BROKER.EXECUTIONGROUP.QUEUE
  • SYSTEM.BROKER.EXECUTIONGROUP.REPLY
  • SYSTEM.BROKER.INTERBROKER.QUEUE
  • SYSTEM.BROKER.INTERBROKER.MODEL.QUEUE
  • SYSTEM.BROKER.MODEL.QUEUE
  • SYSTEM.BROKER.WS.INPUT
  • SYSTEM.BROKER.WS.REPLY
  • SYSTEM.BROKER.WS.ACK

A autoridade de acesso é concedida para o grupo grupo mqbrkrs a todas estas filas. Se a DLQ estiver ativada, ela também terá a mesma autoridade.

Tabelas Criadas do Banco de Dados

As tabelas do banco de dados que esse comando cria ou inclui são descritas em Conteúdo do Banco de Dados.

Respostas

Esse comando retorna as seguintes respostas:

  • BIP8011 Impossível criar dados de configuração
  • BIP8012 Impossível conectar aos componentes do sistema
  • BIP8014 O componente não pode ser criado
  • BIP8022 ID do usuário/senha inválidos
  • BIP8030 Incapaz de modificar os privilégios do ID do usuário
  • BIP8040 Impossível conectar ao banco de dados
  • BIP8048 Incapaz de iniciar o gerenciador de filas
  • BIP8050 Impossível criar o gerenciador de filas
  • BIP8051 Impossível criar fila
  • BIP8053 Impossível definir segurança para o gerenciador de filas
  • BIP8054 Impossível definir segurança para a fila
  • BIP8056 Gerenciador de filas desconhecido
  • BIP8070 Exceção de banco de dados
  • BIP8072 Exceção de banco de dados
  • BIP8073 Nome do intermediário inválido
  • BIP8084 Impossível criar diretório
  • BIP8086 Gerenciador de filas em utilização
  • BIP8087 O componente já existe
  • BIP8093 Gerenciador de filas sendo criado
  • BIP8094 Gerenciador de filas parando
Em algumas circunstâncias, você poderá ver a seguinte mensagem de erro emitida pelo DB2:
    (51002)[IBM][CLI Driver][DB2/NT]SQL0805N
    Package "NULLID.SQLLF000" was not found.  SQLSTATE=51002.

Este erro ocorre quando a ligação com o banco de dados não é bem-sucedida.

Em plataformas , a ligação não é necessária para bancos de dados do intermediário, mas é exigida para bancos de dados do usuário. Se tiver criado o banco de dados utilizando o Centro de Controle do DB2, a ligação será concluída para você. Se você utilizar a interface de comando, ela não será concluída. Por exemplo, para o banco de dados MYDB, você cria ou cria novamente uma ligação digitando os seguintes comandos no prompt de comandos:

db2 connect to MYDB user db2admin using db2admin
db2 bind X:\sqllib\bnd\@db2cli.lst grant public
db2 connect reset

em que X: é a unidade na qual o DB2 está instalado.

Em plataformas a ligação é necessária para todos os bancos de dados. Para o banco de dados, por exemplo, você pode efetivar isto digitando os seguintes comandos no prompt de comandos (em que <user_name> é o ID de usuário com o qual a instância do banco de dados foi criada):

db2 connect to  user db2admin using db2admin
db2 bind ~<user_name>/sqllib/bnd/@db2cli.lst grant public CLIPKG 5
db2 connect reset

Se não estiver utilizado o ID de usuário e senha padrão do DB2 (db2admin), substitua esses valores no comando db2 connect com os valores corretos.

Se você executar o comando pela segunda vez devido a uma falha na primeira vez, você receberá uma série de mensagens. Elas indicarão todos os itens que não puderem ser criados. Não deve haver efeitos prejudiciais como resultado disso. Por exemplo, desde que o motivo deste primeiro defeito tenha sido resolvido, tentar criar um intermediário que falhou na primeira vez deve resultar em um intermediário criado corretamente.

Exemplos


  -i  -a 
-q  -s  -n 

 BROKERA -i  -a  -q BROKERA -n BRKA_DB -t

Conceitos relacionados
Domínio do Intermediário

Tarefas relacionadas
Criação de um Intermediário

Referências relacionadas
Preferência de Sintaxe
Conteúdo do Banco de Dados
Comando mqsichangebroker
Comando mqsideletebroker