Como posso continuar um processo de fluxo de Drools quando receber uma mensagem JMS?

StackOverflow https://stackoverflow.com/questions/3282933

  •  17-09-2020
  •  | 
  •  

Pergunta

Eu tenho um fluxo muito simples, uma mensagem JMS inicia um processo que recebe uma lista de objetos.Um foreach itera através desta lista e envia uma mensagem JMS para componente para processar o objeto na lista.Este componente precisa enviar uma notificação de conclusão para o processo de fluxo para que ele possa continuar.Alguém tem alguma ideia de como isso pode ser alcançado?

obrigado.

Foi útil?

Solução

Como você implementa enviar esta mensagem?Usando um nó de item de trabalho personalizado?Eu vejo duas opções:

  • Se você está sempre esperando uma mensagem JMS resultante, você pode ter seu manipulador de item de trabalho Enviar a mensagem JMS quando o nó do item de trabalho for acionado, mas concluir apenas o item de trabalho quando a mensagem de resultado esperada chegar, estaFaça o fluxo continue apenas se a mensagem de resultado tiver sido recebida (e você puder, por exemplo, enviar o ID do item de trabalho como algum tipo de parâmetro de contexto em sua mensagem para que você saiba qual item de trabalho concluir se o resultado voltar)

  • Se você também deseja lidar com mensagens JMS mais inesperadas (não necessariamente o resultado de uma mensagem de primeira solicitação JMS), você pode usar um nó de evento para isso, e ter um ouvinte JMS que traduz a entrada de mensagens JMS (deUm tipo específico) para invocações de sinalevent (.), que continuará o fluxo do nó do evento para a frente.

kris

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top