JMS Trigger
Descubra mais sobre o JMS Trigger e saiba como utilizá-lo na Digibee Integration Platform.
Este trigger precisa de uma infraestrutura dedicada. Por questões de segurança, é necessário entrar em contato com a nossa Equipe de Suporte para obter a liberação.
Digamos que você queira utilizar um trigger para realizar a subscrição em uma fila de mensagens. Ao usar o JMS Trigger, você consegue disparar um pipeline que habilita o consumo de uma mensagem por vez.
Commit com garantia de entrega
Com a propriedade Auto Commit desabilitada, é possível dar o ack da mensagem somente após a execução bem sucedida do pipeline. Para o broker IBM MQ, é necessário manter esse campo sempre habilitado, pois não é suportado controlar o ack ou o reject da mensagem.
Filas suportadas e parâmetros de configuração
As filas suportadas são:
Oracle Advanced Queue
Tibco EMS
SQS
IBM MQ
Dê uma olhada nas opções de configuração do trigger. Parâmetros suportados por expressões Double Braces estão marcados com (DB)
.
Account
Define a conta que será usada pelo trigger.
N/A
String
Auto Commit
Quando ativada, a estratégia de auto commit JMS será usada. Se não for ativada, o commit manual será usado.
False
Booleano
Destination
Define o parâmetro (Queue ou Topic).
Queue
String
Name of the Queue or Topic
Nome único dado ao Queue ou Topic selecionado.
Test
String
Which JMS Provider Will Be Used
Seleciona a fila desejada (Oracle Advanced Queue, Tibco EMS, SQS ou IBM MQ).
SQS
String
Dependendo da fila, parâmetros diferentes podem ser acessados:
Oracle AQ
Hostname
O nome do host da conexão string JMS.
N/A
String
SID - Oracle Site Identifier
Nome do banco de dados Oracle.
N/A
String
Port
Número da porta de acesso ao servidor Oracle.
N/A
Inteiro
JDBC Type
Driver Oracle jbdc (ex.: THIN ou OCI).
N/A
String
Durable Subscriber
Consumidor de mensagem que recebe todas as mensagens publicadas em um tópico, incluindo aquelas publicadas enquanto o subscriber está inativo; quando essa opção estiver ativada, é necessário informar o nome específico do subscriber no campo Subscriber Name.
False
Booleano
Subscriber Name
Nome do subscriber específico necessário ao ativar a opção Durable Subscriber no Oracle Advanced Queue.
N/A
String
Set Client ID
Propriedade utilizada especificamente por um provedor JMS para identificar a conexão JMS do cliente e permitir que ela seja durável.
False
Booleano
Message Selector
Se a sua aplicação precisa filtrar as mensagens recebidas, você pode utilizar um selecionador de mensagens JMS API, que permite ao consumidor de mensagens especificar quais delas interessam - o message selector repassa a filtragem para o provedor JMS.
N/A
String
Maximum Timeout
Tempo máximo (em milissegundos) para o pipeline processar informação antes de retornar uma resposta. Limite: 900000.
30000
Inteiro
Allow Redelivery of Messages
Se a opção estiver ativada, permite o reenvio da mensagem em caso de falha do Pipeline Engine.
False
Booleano
Tibco EMS
Connection String
Conexão string JMS no formato tcp://{host}:{port}.
N/A
String
Durable Subscriber
Consumidor de mensagem que recebe todas as mensagens publicadas em um tópico, incluindo aquelas publicadas enquanto o subscriber está inativo; quando essa opção estiver ativada, é necessário informar o nome específico do subscriber no campo Subscriber Name.
False
Booleano
Subscriber Name
Nome do subscriber específico necessário ao ativar a opção Durable Subscriber no Tibco EMS.
N/A
String
Set Client ID
Propriedade utilizada especificamente por um provedor JMS para identificar a conexão JMS do cliente e permitir que ela seja durável.
False
Booleano
Message Selector
Se a sua aplicação precisa filtrar as mensagens recebidas, você pode utilizar um selecionador de mensagens JMS API, que permite ao consumidor de mensagens especificar quais delas interessam - o message selector repassa a filtragem para o provedor JMS.
N/A
String
Maximum Timeout
Tempo máximo (em milissegundos) para o pipeline processar informação antes de retornar uma resposta. Limite: 900000.
30000
Inteiro
Allow Redelivery of Messages
Se a opção estiver ativada, permite o reenvio da mensagem em caso de falha do Pipeline Engine.
False
Booleano
SQS
Claro, aqui está a tabela organizada conforme solicitado:
Connection String
Conexão string JMS no formato _https://{REGION_ENDPOINT}/queue. /{YOUR_ACCOUNT_NUMBER}/{YOUR_QUEUE_NAME}_.
tcp://localhost:61616
String
Region
Região da AWS onde a fila está instalada.
N/A
String
Set Client ID
Propriedade utilizada especificamente por um provedor JMS para identificar a conexão JMS do cliente e permitir que ela seja durável.
False
Booleano
Message Selector
Se sua aplicação precisar filtrar mensagens recebidas, você poderá usar um seletor de mensagens da API JMS, permitindo que o consumidor de mensagens especifique quais delas são importantes.
N/A
String
Maximum Timeout
Tempo máximo (em milissegundos) para o pipeline processar informação antes de retornar uma resposta. Limite: 900000.
30000
Inteiro
Allow Redelivery of Messages
Se a opção estiver ativada, permite o reenvio da mensagem em caso de falha do Pipeline Engine.
False
Booleano
O Visibility Timeout no Broker SQS deve ter um valor maior ou igual que o timeout do pipeline. Isso é necessário, porque o Broker SQS é um sistema distribuído e não remove a mensagem após o seu consumo, já que não há garantia de que ela foi realmente consumida.
Se o Visibility Timeout não é configurado dentro das condições mencionadas, pode ocorrer o reenvio de uma mensagem em processamento. O Broker SQS envia a mensagem novamente caso ela não receba ACK ou REJECT dentro do tempo configurado em Visibility Timeout. Para mais informações, veja a documentação externa.
IBM MQ
Ainda não há suporte para autenticação usando TLS.
Hostname
Nome do host da conexão string JMS.
N/A
String
Channel Name
Nome do canal a ser utilizado na comunicação do broker.
N/A
String
Queue Manager
Nome do gerenciador de filas do IBM MQ.
N/A
String
Port
Número da porta de acesso ao servidor Oracle.
N/A
Inteiro
Durable Subscriber
Consumidor de mensagem que recebe todas as mensagens publicadas em um tópico, incluindo aquelas publicadas enquanto o subscriber está inativo; quando essa opção estiver ativada, é necessário informar o nome específico do subscriber no campo Subscriber Name.
False
Booleano
Set Client ID
Propriedade utilizada especificamente por um provedor JMS para identificar a conexão JMS do cliente e permitir que ela seja durável.
False
Booleano
Message Selector
Se a sua aplicação precisa filtrar as mensagens recebidas, você pode utilizar um selecionador de mensagens JMS API, que permite ao consumidor de mensagens especificar quais delas interessam - o message selector repassa a filtragem para o provedor JMS.
N/A
String
Maximum Timeout
Tempo máximo (em milissegundos) para o pipeline processar informação antes de retornar uma resposta. Limite: 900000.
30000
Integer
Allow Redelivery of Messages
Se a opção estiver ativada, permite o reenvio da mensagem em caso de falha do Pipeline Engine.
False
Booleano
JMS Trigger em ação
Se você deseja disparar o trigger, será necessário publicar o pipeline. Veja como realizar o deploy:
Clique em Run, localizado na parte superior da tela.
Selecione o ambiente, que pode ser test ou prod.
Clique em Criar uma nova implantação.
Selecione o pipeline com a sua versão e capacidade.
Clique em Confirmar.
Quando for disparado, o pipeline receberá um payload similar ao seguinte:
data: conteúdo da mensagem recebida.
O JMS Trigger suporta o consumo de mensagens de forma paralela - o número de consumers configurado na hora do deploy de um pipeline será exatamente o mesmo para a fila/tópico JMS.
Portanto, se forem configurados 10 consumers no deploy, 10 consumers serão criados de tópico/fila JMS.
Isso aumenta o throughput de consumo das mensagens, além de permitir ao usuário ter controle de quantos consumidores simultâneos ele poderá criar.
Antes havia apenas um consumer por trigger.
Caso você realize o deploy de um pipeline com o trigger JMS atrelado a um tópico, é preciso configurar apenas 1 consumer na hora de realizar o deploy.
Atualizado