Configurando a Amostra Consumidor Assíncrono para Usar um Transporte JMS
Nessa amostra, o WebSphere MQ é usado como provedor JMS; você deve criar objetos administrados
usando a ferramenta JMSAdmin.
Antes de iniciar:
Se você estiver executando a amostra no Linux, deverá concluir as seguintes etapas:
- Inclua a classe JMSAdmin no caminho de classe
ao incluir o seguinte arquivo no seu caminho de classe:
>mq_install_directory</java/lib/com.ibm.mqjms.jar
- Inclua o local do Java na variável PATH ao incluir o seguinte código no caminho de classe:
>JAVA_HOME</bin
Criando os Objetos Administrados Usando JMSAdmin
As seguintes instruções são baseadas na suposição de que o WebSphere MQ esteja instalado no diretório mq_install_dir.
A ferramenta JMSAdmin e o arquivo de configuração JMSAdmin estão nos seguintes locais:
- No Windows: mq_install_dir\java\bin
- No Linux: mq_install_dir/java/bin
No projeto AsyncWebServiceFlows, você deve usar o arquivo SOAPJMSSample.defs com a ferramenta JMSAdmin.
Antes de poder usar a ferramenta JMSAdmin, você deve modificar o arquivo JMSAdmin.config.
Modificando o arquivo JMSAdmin.config
Para modificar o arquivo JMSAdmin.config:
- No editor de texto, abra o arquivo JMSAdmin.config.
- Para comentar qualquer opção que não seja necessária, inclua um sinal numérico (#). Para remover o comentário de qualquer opção, remova o sinal de número (#).
# A seguinte linha especifica que o fornecedor de serviços JNDI está em uso.
# Ela atualmente indica um Contexto do Sistema de Arquivos. Se um provedor de serviços diferente
# for usado, esta linha deve ser comentada e o comentário deve ser removido da linha adequada.
#
# com.sun.jndi.fscontext.RefFSContextFactory is the FileSystem JNDI Context
#
#INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory
#INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory
#INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory
#
# A linha a seguir especifica a URL do contexto inicial
# para o provedor de serviço. Ela atualmente refere-se a um Contexto do Sistema de Arquivos.
# Exemplos de uma URL de contexto raiz LDAP e o espaço de nomes JNDI para o WebSphere
# também são mostrados, comentados.
#
#PROVIDER_URL=ldap://localhost/o=ibm,c=us
PROVIDER_URL=file:/C:/SOAPJNDIBindings
#PROVIDER_URL=iiop://localhost/
- Certifique-se de que PROVIDER_URL esteja configurado para /C:/SOAPJNDIBindings,
ou um local equivalente no Linux e de que INITIAL_CONTEXT_FACTORY esteja configurado para
com.sun.jndi.fscontext.RefFSContextFactory.
- Salve o arquivo.
Agora você pode criar os objetos.
Criando os Objetos
Executando a ferramenta WebSphere MQ JMSAdmin, você cria os objetos administrados por JNDI para configurar Connection Factories e Destinos de JMS que são usados na amostra.
Crie os objetos executando a ferramenta JMSAdmin e usando o arquivo SOAPJMSSample.defs como entrada.
Na linha de comandos, digite os seguintes comandos:
- No Windows:
cd mq_install_dir\java\bin
JMSAdmin < "workspace_path\AsyncWebServiceFlows\SOAPJMSSample.defs"
- No Linux:
cd mq_install_dir/java/bin
. ./setjmsenv
./JMSAdmin < workspace_path/AsyncWebServiceFlows/SOAPJMSSample.defs
Em que o WebSphere MQ está instalado no seguinte local: mq_install_dir,
e workspace_path é o caminho completo para o diretório da área de trabalho do WebSphere Message Broker Toolkit.
Os objetos e o arquivo .bindings são criados.
Configurando os Nós SOAP para Usar JMS
- Abra o fluxo de mensagens AsyncWebServiceFlows.WebServicesAsyncServerFlow no editor de Fluxo de Mensagens.
- Clique com o botão direito do mouse no nó SOAPInput no fluxo de mensagens e clique em
Propriedades para mostrar a visualização Propriedades.
- Na visualização Propriedades, selecione a guia Básicas.
- O valor do campo Ligação Importada é configurado como
OrderServiceSOAP e o valor de Transporte é configurado como HTTP. Altere o valor de
Ligação Importada para OrderServiceSOAPJMSBinding.
O valor da propriedade Transporte é alterado para JMS.
- Abra o fluxo de mensagens AsyncWebServiceFlows.WebServicesAsyncClientFlow
no Editor do Fluxo de Mensagens para configurar o campo Ligação Importada para o nó SOAPAsyncRequest usando as etapas anteriores.
Configurando o Caminho JNDI no Fluxo de Mensagens
- No Windows:
Os nós SOAP já estão configurados com o local do arquivo .bindings.
Entretanto, se você tiver criado um arquivo .bindings em um local diferente, você deve reconfigurar os nós SOAP com o local diferente do arquivo.bindings.
Conclua as etapas na seção a seguir: "Configurando os nós SOAP com o local do arquivo .bindings".
- No Linux:
Para assegurar que os nós SOAP nos fluxos de mensagens saibam o local do arquivo .bindings que você
criou, use as etapas na seção a seguir: "Configurando os nós SOAP com o local do arquivo .bindings".
Configurando os nós SOAP com o local do arquivo .bindings:
- Abra o fluxo de mensagens AsyncWebServiceFlows.WebServicesAsyncServerFlow no editor de Fluxo de Mensagens.
- Clique com o botão direito do mouse no nó SOAPInput no fluxo de mensagens e clique em
Propriedades para mostrar a visualização Propriedades.
- Na visualização Propriedades, selecione a guia Transporte JMS .
- No campo Ligações da URL de JNDI de Local, insira o caminho que está especificado na linha PROVIDER_URL do arquivoJMSAdmin.config.
- No Windows: Se tiver modificado o local do arquivo .bindings, digite o local, caso contrário,
deixe o valor como file:/C:/SOAPJNDIBindings.
- No Linux: Digite file:///home/myuser/SOAPJNDIBindings, em que
myuser é o nome do usuário que você usa ao executar o broker.
- Certifique-se de que o caminho inserido nas propriedades do nó corresponda ao caminho no arquivo JMSAdmin.config. Se os dois caminhos não corresponderem, os fluxos de mensagens não funcionarão.
- Salve o fluxo de mensagens.
- Abra o fluxo de mensagens AsyncWebServiceFlows.WebServicesAsyncClientFlow no editor de Fluxo de Mensagens e configure o nó SOAPAsyncRequest com o local do arquivo .bindings usando as etapas anteriores.
- Os fluxos de mensagens estão agora configurados e prontos para serem implementados no intermediário.
Recriando o Arquivo BAR e Implementando os Fluxos de Mensagens
Para implementar WebServicesAsyncServerFlow e
WebServicesAsyncClientFlow, reconstrua um arquivo bar que contenha
ambos os fluxos de mensagens.
Crie o arquivo BAR:
- Clique duas vezes no arquivo BAR AsyncWebServiceFlows.AsyncWebServiceSample.bar.
- Na guia Gerenciar, clique em Construir
para reconstruir o arquivo BAR.
- Salve o arquivo BAR criado.
- Clique no arquivo BAR e arraste-o
para o grupo de execução padrão na visualização Brokers. Esta ação implementa os fluxos no intermediário.
Agora, é possível executar a amostra, consulte Executando a
Amostra Asynchronous Consumer.
É possível usar o Teste de Fluxo, porque o fluxo de cliente é conduzido por uma fila
do WebSphere MQ.
Voltar para Home da Amostra