Bean controlado por mensagem

Definição - O que significa o Message-Driven Bean?

Um bean acionado por mensagem é um componente de um aplicativo corporativo leve que é usado para processar mensagens no modo assíncrono, onde o usuário nem sempre recebe resultados imediatos. Qualquer componente pode enviar essas mensagens, independentemente de usar tecnologia J2EE.

Os dois recursos distintos que diferenciam os beans acionados por mensagem dos beans de sessão e entidade são que os beans acionados por mensagem não podem ser acessados ​​por meio de interfaces e têm apenas uma classe de bean.

A Definirtec explica o Message-Driven Bean

Os beans de mensagem também são observados para as seguintes características:

  • As instâncias de beans controlados por mensagem não retêm dados ou estado de conversação para um cliente específico.
  • Todas as instâncias de um bean acionado por mensagem são equivalentes, permitindo que o contêiner EJB atribua uma mensagem a qualquer instância de bean acionado por mensagem. O contêiner pode agrupar essas instâncias para permitir que fluxos de mensagens sejam processados ​​simultaneamente.
  • Um único bean controlado por mensagem pode processar mensagens de vários clientes.

Os beans controlados por mensagem são usados ​​na comunicação assíncrona entre os componentes do aplicativo corporativo. Uma mensagem é processada da seguinte maneira:

  1. Quando uma nova mensagem chega, o contêiner JavaBeans corporativo chama o método onMessage do bean acionado por mensagem para processar a mensagem.
  2. A mensagem é lançada como uma mensagem JMS, que é tratada com base na lógica de negócios do aplicativo. Então, se o método onMessage deseja processar apenas a mensagem, ele invoca um bean de sessão. Se, entretanto, o método deseja armazenar a mensagem em um banco de dados, ele invoca um bean de entidade.
  3. A mensagem é então entregue a um bean controlado por mensagem para que as operações acima se tornem parte de uma transação única e completa. Uma mensagem às vezes é entregue novamente se houver uma reversão no processamento da mensagem.