Índice:
Definição - O que significa Message-Driven Bean?
Um bean acionado por mensagens é um componente de um aplicativo corporativo leve que é usado para processar mensagens no modo assíncrono, em que o usuário nem sempre recebe resultados imediatos. Qualquer componente pode enviar essas mensagens, independentemente de usar a tecnologia J2EE.
Os dois recursos distintos que diferenciam os beans acionados por mensagens dos beans de sessão e de entidade são que os beans acionados por mensagens não podem ser acessados por meio de interfaces e possuem apenas uma classe de beans.
Techopedia explica Bean orientado a mensagens
Os beans de mensagem também são observados pelas seguintes características:
- As instâncias de beans controlados por mensagens não retêm dados ou estado conversacional para um cliente específico.
- Todas as instâncias de um bean acionado por mensagens são equivalentes, permitindo que o contêiner EJB atribua uma mensagem a qualquer instância do bean acionado por mensagens. 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 mensagens são usados na comunicação assíncrona entre os componentes de aplicativos corporativos. Uma mensagem é processada da seguinte maneira:
- Quando uma nova mensagem chega, o contêiner JavaBeans corporativo chama o método onMessage do bean acionado por mensagens para processar a mensagem.
- A mensagem é convertida como uma mensagem JMS, que é tratada com base na lógica de negócios do aplicativo. Em seguida, se o método onMessage quiser processar apenas a mensagem, ele chamará um bean de sessão. Se, no entanto, o método quiser armazenar a mensagem em um banco de dados, ele chamará um bean de entidade.
- A mensagem é então entregue a um bean acionado por mensagens, para que as operações acima se tornem parte de uma transação única e completa. Às vezes, uma mensagem é devolvida se houver uma reversão no processamento da mensagem.