Comando createSIBJMSActivationSpec
Use o comando createSIBJMSActivationSpec para criar uma nova especificação de ativação JMS para o provedor do sistema de mensagem no escopo específico.
Para executar o comando, utilize o objeto AdminTask do cliente de script wsadmin.
O cliente de script wsadmin é executado do Qshell.
Para obter informações adicionais, consulte Configurando o Qshell para Executar Scripts do WebSphere Usando o Script wsadmin.
- Para obter uma lista dos comandos JMS do barramento de integração de
serviços disponíveis no Jython e uma breve descrição de cada comando, digite o seguinte
comando no prompt wsadmin:
print AdminTask.help('SIBJMSAdminCommands')
- Para obter ajuda de visão geral sobre um determinado comando, digite o seguinte comando no prompt wsadmin:
print AdminTask.help('command_name')
AdminConfig.save()
Finalidade
O comando createSIBJMSActivationSpec cria uma nova especificação de ativação JMS em um escopo específico.
Objeto de Destino
O escopo do provedor do sistema de mensagem padrão no qual a especificação de ativação JMS deverá ser criada.
Parâmetros Requeridos
- -name
- O nome administrativo designado a esta especificação de ativação.
- -jndiName
- O nome JNDI que é especificado nas ligações para beans acionados por mensagens associados com esta especificação de ativação.
Parâmetros Opcionais
- -description
- Uma descrição opcional para a especificação de ativação.
- -destinationJndiName
- O nome JNDI da fila JMS de destino ou tópico usado pelo bean acionado por mensagens. O nome JNDI de destino e os parâmetros de nome de consulta de destino servem ao mesmo propósito de armazenar o nome JNDI de destino na configuração. Embora os dois campos individualmente não sejam obrigatórios, você deverá assegurar que pelo menos um deles tenha um valor. Quando ambos os parâmetros destinationLookup e destinationJndiName tiverem valores, o parâmetro destinationLookup terá precedência sobre o parâmetro destinationJndiName.
- -destinationLookup
- O nome JNDI da fila JMS de destino ou tópico usado pelo bean acionado por mensagens. O nome JNDI de destino e os parâmetros de nome de consulta de destino servem ao mesmo propósito de armazenar o nome JNDI de destino na configuração. Embora os dois campos individualmente não sejam obrigatórios, você deverá assegurar que pelo menos um deles tenha um valor. Quando ambos os parâmetros destinationLookup e destinationJndiName tiverem valores, o parâmetro destinationLookup terá precedência sobre o parâmetro destinationJndiName.
- -connectionFactoryLookup
- O nome JNDI da consulta do connection factory. Quando a consulta do connection factory for definida na especificação de ativação como o nome JNDI, as propriedades do connection factory terão precedência sobre as propriedades configuradas em uma configuração de especificação de ativação. Por exemplo, o ID do cliente configurado como parte da JNDI do connection factory tem precedência sobre o ID do cliente configurado em uma propriedade propriedade de configuração de especificação de ativação.
- -destinationType
- Uma opção para determinar se o bean acionado por mensagens usa uma fila JMS ou um tópico JMS. Selecione um dos seguintes valores:
- O bean acionado por mensagens utiliza uma fila JMS. O nome JNDI da fila JMS é especificado na propriedade Nome JNDI de Destino.
- Tópico
- O bean orientado a mensagens utiliza um tópico JMS. O nome JNDI do tópico JMS é especificado na propriedade Nome JNDI de Destino.
- -messageSelector
-
A cadeia do seletor pode referir-se a campos no cabeçalho da mensagem JMS e a campos nas propriedades da mensagem. Os seletores de mensagens não podem fazer referência a valores do corpo da mensagem.
Um valor nulo (uma cadeia vazia) indica que não existe nenhum seletor de mensagem para o consumidor de mensagem.
- -busName
- O nome do barramento de integração de serviços para o qual as conexões são feitas. Deve ser o nome do barramento no qual o destino identificado pela propriedade -destinationJndiName está definido.
- -acknowledgeMode
- O modo de confirmação de recebimento indica como uma mensagem recebida
por um bean orientado a mensagens deve ter seu recebimento confirmado. Selecione um dos seguintes valores:
- Confirmação Automática
- A sessão confirma automaticamente a entrega de uma mensagem.
- Confirmação Automática de Duplicatas OK
- A sessão confirma lentamente a entrega de mensagens, o que pode aprimorar o desempenho, mas pode fazer com que um bean acionado por mensagens receba uma mensagem mais de uma vez.
- -target
- O nome de um destino que identifica um grupo de mecanismos dos sistemas de mensagens. Especifique o tipo de destino usando a propriedade Tipo de destino.
- -targetType
- O tipo de destino denominado na propriedade -target.
Selecione um dos seguintes valores:
- Nome do Membro do Barramento
- O nome de um membro de barramento. Esta opção recupera os mecanismos de sistema de mensagens ativos que são hospedados pelo membro de barramento denominado (um servidor de aplicativos ou cluster de servidores).
- Nome do Grupo do Mecanismo do Sistema de Mensagens Customizado
- O nome de um grupo customizado de mecanismos de sistema de mensagens (que formam um cluster de auto-declaração). Esta opção recupera os mecanismos de sistema de mensagens ativos que foram registrados no grupo customizado denominado.
- Nome do mecanismo do sistema de mensagens
- O nome de um mecanismo do sistema de mensagens. Esta opção recupera os nós de extremidade disponíveis que podem ser utilizados para acessar o mecanismo do sistema de mensagens denominado.
- -targetSignificance
- Selecione
um dos valores a seguir:
- Preferido
- É preferível que um mecanismo do sistema de mensagens seja selecionado no grupo de destino. Um mecanismo do sistema de mensagens no grupo de destino será selecionado se houver algum disponível. Se um mecanismo do sistema de mensagens não estiver disponível no grupo de destino, um mecanismo do sistema de mensagens fora do grupo de destino será selecionado se estiver disponível no mesmo barramento de integração de serviços.
- Requerido
- É necessário que um mecanismo do sistema de mensagens seja selecionado no grupo de destino. Um mecanismo do sistema de mensagens no grupo de destino será selecionado se houver algum disponível. Se um mecanismo do sistema de mensagens não estiver disponível no grupo de destino, o processo de conexão falhará.
- -targetTransportChain
Se o mecanismo do sistema de mensagens estiver no mesmo servidor que o aplicativo, será estabelecida uma conexão direta do processo interno e essa propriedade da cadeia de transporte será ignorada.
As cadeias de transporte representam as pilhas de protocolo de rede em operação em um servidor. O nome que você especifica deve ser uma das cadeias de transporte disponíveis no servidor que hospeda o mecanismo do sistema de mensagens, conforme listado no painel . São fornecidas as seguintes cadeias de transporte, mas é possível definir suas próprias cadeias de transporte neste painel.- InboundBasicMessaging
- Este é um protocolo orientado para conexão que utiliza uma conexão TCP/IP padrão (JFAP-TCP/IP). Inclui suporte para fluxos transacionais de duas fases (XA remoto), para que um produtor ou consumidor de mensagens, em execução em um sistema cliente ou servidor, possa participar de uma transação global gerenciada nesse sistema cliente ou servidor. O uso específico dos fluxos XA é para suportar o acesso a partir de um aplicativo em execução em um servidor para um mecanismo do sistema de mensagens no segundo servidor, talvez em razão do primeiro servidor não possuir um mecanismo do sistema de mensagens adequado. Se forem utilizados os fluxos de XA remoto, um coordenador de transação deverá estar disponível localmente no aplicativo.
- InboundSecureMessaging
- Este é o protocolo InboundBasicMessaging agrupado no SSL.
- -providerEndPoints
- Uma lista separada por vírgula de trios de terminais, com a sintaxe host_name:port_number:chain_name, que é usada para se conectar a um servidor de autoinicialização. Por exemplo Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging.
Os terminais do servidor serão usados se o barramento especificado não puder ser localizado na célula local. Os aplicativos do bean acionado por mensagens tentam, primeiro, se conectar ao barramento especificado na célula local. Se essa tentativa falhar, os terminais do provedor serão utilizados para permitir que os aplicativos consumam mensagens de uma célula remota.
Se o nome do host não for especificado, localhost será utilizado como um valor padrão.
Se o número da porta não for especificado, 7276 será utilizado como o valor padrão.
Se o protocolo não for especificado, uma cadeia predefinida como BootstrapBasicMessaging será utilizada como o valor padrão.
- -authenticationAlias
-
Um alias de autenticação Java™ Platform, Enterprise Edition (Java EE) Connector Architecture (JCA) especifica o ID do usuário e a senha utilizados para autenticar a criação de uma nova conexão com o provedor JMS.
- -maxBatchSize
- O número máximo de mensagens em um único lote entregue em série para uma única instância do bean acionado por mensagens. O lote de mensagens pode aprimorar o desempenho, particularmente quando utilizado com o modo Modo de Confirmação configurado como Confirmação Automática de Duplicatas OK. Se a organização de mensagens tiver de ser mantida em entregas que falharam, configure o tamanho do lote como 1.
- -maxConcurrency
-
Aumentar este número pode aprimorar o desempenho, mas pode aumentar o número de encadeamentos que estão sendo utilizados a qualquer momento. Se a ordem das mensagens tiver de ser mantida nas entregas que falharam, configure o máximo de terminais simultâneos como 1. A ordem das mensagens se aplicará apenas se o destino que o bean acionado por mensagens estiver consumindo não for um destino particionado. Os destinos particionados são utilizados em um cenário de compartilhamento de carga de trabalho em um cluster.
- -subscriptionDurability
- Essa opção especifica se uma assinatura do tópico JMS será durável ou não durável. Normalmente, somente um aplicativo por vez pode ter um consumidor para uma assinatura durável específica. Esta propriedade permite substituir este comportamento, para permitir que uma assinatura durável tenha vários consumidores simultâneos. Selecione um dos seguintes valores:
- Durável
- O provedor de sistemas de mensagens armazena mensagens enquanto o bean acionado por mensagens não está disponível e entrega as mensagens quando o bean acionado por mensagens fica disponível novamente.
- Não durável
- O provedor de sistemas de mensagens não armazena e entrega novamente as mensagens se um bean acionado por mensagens não estiver disponível.
- -subscriptionName
-
Cada assinatura JMS durável será identificada por um nome de assinatura (especificado nesta propriedade). Uma conexão JMS também tem um identificador de cliente associado (especificado na propriedade Identificador de Cliente) que é utilizado para associar uma conexão e seus objetos à lista de mensagens (na assinatura durável) que é mantida pelo provedor JMS para o cliente.
Este nome de assinatura deve ser exclusivo para um determinado identificador de cliente.
- -clientId
-
O valor especificado é um identificador exclusivo para um cliente (bean orientado a mensagens). O identificador do cliente é utilizado para associar uma conexão do cliente à lista de mensagens (em uma assinatura durável) que o fornecedor de sistema de mensagens mantém para o cliente. Quando um cliente se torna disponível, depois de ter estado indisponível, o provedor do sistema de mensagens usa o identificador de cliente para entregar novamente mensagens armazenadas para o cliente correto.
- -durableSubscriptionHome
-
Os administradores podem gerenciar o estado do tempo de execução de assinaturas duráveis por meio de pontos de publicação para este mecanismo do sistema de mensagens.
- -shareDurableSubscriptions
Normalmente, somente uma sessão por vez pode ter um TopicSubscriber para uma assinatura durável específica. Esta propriedade permite que você substitua este comportamento, para permitir que uma assinatura durável tenha múltiplos consumidores simultâneos, um em cada servidor de aplicativos no cluster de servidores.
Selecione um dos seguintes valores:- Em Cluster
- Permite o compartilhamento de assinaturas duráveis quando são feitas conexões a partir de um cluster de servidores.
- Sempre compartilhado
- As assinaturas duráveis podem ser compartilhadas entre conexões.
- Jamais compartilhado
- As assinaturas duráveis nunca são compartilhadas entre conexões.
- -shareDataSourceWithCmp
True | False
Esta opção é utilizada como parte da tarefa para ativar beans de entidade CMP (Container-Managed Persistence) para compartilhar as conexões com o banco de dados utilizadas pelo data store de um mecanismo do sistema de mensagens. Isto foi estimado como um possível aperfeiçoamento de desempenho de 15% para o rendimento do processamento geral de mensagens, mas pode ser utilizado apenas para beans de entidade conectados ao servidor de aplicativos que contém o mecanismo do sistema de mensagens. Essa opção não deve ser ativada para um mecanismo do sistema de mensagens que use armazenamento de arquivos como seu armazenamento de dados.
Para obter informações adicionais sobre como utilizar esta opção, consulte Permitindo que Beans de Entidade CMP e Data Stores do Mecanismo do Sistema de Mensagens Compartilhem Conexões do Banco de Dados.
- -readAhead
As mensagens que são designadas a um consumidor são bloqueadas no servidor e não podem ser consumidas por outros consumidores para esse destino. As mensagens que são designadas a um consumidor, mas não são consumidas antes do fechamento desse consumidor, são subseqüentemente desbloqueadas no servidor e, em seguida, disponibilizadas para recebimento por outros consumidores.
É possível substituir esta propriedade para destinos JMS individuais, definindo a propriedade Leitura Antecipada no destino JMS.
Selecione um dos seguintes valores:- Ativado
- O fornecedor de sistema de mensagens designa, preemptivamente, mensagens a consumidores. Isto melhora o tempo gasto para atender a pedidos do consumidor.
- Desativado
- O fornecedor de sistema de mensagens não designa, preemptivamente, mensagens a consumidores.
- Default
- O fornecedor de mensagens designa, preemptivamente, mensagens a consumidores em assinaturas não duráveis e assinaturas duráveis não compartilhadas. Ou seja, a otimização de leitura antecipada é ativada apenas quando pode haver somente um único consumidor.
- -forwarderDoesNotModifyPayloadAfterSet
- true | false (padrão false)
- Os aplicativos que reenviam mensagens recebidas originalmente utilizando essa especificação de ativação devem obedecer as seguintes regras:
- O aplicativo pode substituir o objeto de dados em uma mensagem do objeto do JMS, contanto que o objeto de dados ainda não tenha sido configurado na mensagem. O aplicativo não modifica nem substitui o objeto de dados após ele estar configurado na mensagem.
- O aplicativo pode substituir a matriz de byte em uma mensagem de bytes de JMS, mas apenas usando uma chamada única para writeBytes(byte[]) e desde que a matriz de bytes ainda não tenha sido configurada na mensagem. O aplicativo não modifica nem substitui a matriz de byte após ela ter sido configurada na mensagem.
- -consumerDoesNotModifyPayloadAfterGet
- true | false (padrão false)
- Aplicativos que utilizam essa especificação de ativação para receber mensagens devem obedecer a seguinte regra: O aplicativo não modifica o objeto de dados obtido a partir de uma mensagem de objeto JMS. O objeto de dados é tratado como de leitura.
- -alwaysActivateAllMDBs
- True | False
Essa propriedade é utilizada apenas quando o aplicativo MDB estiver em execução em um servidor que seja membro do barramento ao qual o aplicativo se destina. Ele não terá efeito quando o MDB estiver em execução em um servidor que não seja um membro do barramento de destino.
Se o aplicativo MDB estiver em execução em um servidor que seja membro do barramento de destino, ativar esta opção permite que o aplicativo MDB processe mensagens quer ou não o servidor também hospede um mecanismo do sistema de mensagens em execução. Se essa opção não estiver ativada, então os aplicativos MDB em servidores que não tenham um ME local em execução não processarão mensagens.
Para aplicativos MDB que se conectam a um membro do barramento do cluster, você pode utilizar também essa opção para ativar uma das seguintes configurações adicionais:- Todos os servidores do cluster podem receber mensagens do aplicativo MDB, para fazer uso completo da força de processamento do cluster.
- Apenas um servidor por vez pode receber mensagens do aplicativo MDB, para garantir o processamento seqüencial das mensagens.
Para obter informações adicionais, consulte Como um Bean Acionado por Mensagem Conecta-se em um Cluster.
- -retryInterval
- -userName
- A identidade do usuário para a segurança do conector Java 2 a ser usada.
- -password
- A senha para a segurança do conector Java 2 a ser usada.
- -WAS_EndpointInitialState
- ACTIVE |INACTIVE
- Esta propriedade determina se o terminal está ativado quando o terminal é registrado. Se a propriedade estiver configurada como ativa, o consumo de mensagem inicia a partir do destino JMS assim que a especificação de ativação for usada para um bean acionado por mensagens para conexão com o destino.
Por exemplo:
- O exemplo a seguir mostra a criação de uma especificação de ativação
usando o Jython:
wsadmin>AdminConfig.getid("/Node:9994GKCNode01" )
"9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)"
wsadmin>AdminTask.createSIBJMSActivationSpec("9994GKCNode01(cells/9994GKCNode01Cell/ nodes/9994GKCNode01|node.xml"), ["-name", "myjmsas", "-jndiName", "jms/myjmsas", "-destinationJndiName", "jms/mqueue", "-busName", "abus"])
"myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CActivationSpec_1098726667851)"
wsadmin>AdminTask.listSIBJMSActivationSpecs("9994GKCNode01(cells/9994GKCNode01Cell/ nodes/9994GKCNode01|node.xml)")
"myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CActivationSpec_1098726667851)"
- O exemplo a seguir mostra a criação de uma especificação de ativação
usando o Jacl:
wsadmin>$AdminConfig getid /Node:9994GKCNode01
9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)
wsadmin>$AdminTask createSIBJMSActivationSpec 9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1) {-name myjmsas -jndiName jms/myjmsas -destinationJndiName jms/mqueue -busName abus}
wsadmin>$AdminTask listSIBJMSActivationSpecs 9994GKCNode01 (cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CActivationSpec_1098726667851)
myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CActivationSpec_1098726667851)