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).

Parâmetro
Descrição
Valor padrão
Tipo de dado

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

Parâmetro
Descrição
Valor padrão
Tipo de dado

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

Parâmetro
Descrição
Valor padrão
Tipo de dado

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:

Parâmetro
Descrição
Valor padrão
Tipo de Dado

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

IBM MQ

Ainda não há suporte para autenticação usando TLS.

Parâmetro
Descrição
Valor padrão
Tipo de dado

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:

  1. Clique em Run, localizado na parte superior da tela.

  2. Selecione o ambiente, que pode ser test ou prod.

  3. Clique em Criar uma nova implantação.

  4. Selecione o pipeline com a sua versão e capacidade.

  5. Clique em Confirmar.

Quando for disparado, o pipeline receberá um payload similar ao seguinte:

{  
    "data":"mensagem"
}

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

Isto foi útil?