A diferença a mais visível entre feijões mensagem-dirigidos e sessão e feijões da entidade é que os clientes não alcançam feijões mensagem-dirigidos através das relações. As relações são descritas na seção ao contrário de uma sessão ou o feijão da entidade, um feijão mensagem-dirigido tem somente uma classe do feijão. Em diversos respeitos, um feijão mensagem-dirigido assemelha-se a um feijão stateless da sessão.
Os exemplos de um feijão mensagem-dirigido não retêm nenhum dados ou estado de conversação para um cliente específico.
Todos os exemplos de um feijão mensagem-dirigido são equivalente, permitindo que o recipiente de EJB atribua uma mensagem a todo o exemplo mensagem-dirigido do feijão. O recipiente pode pool estes exemplos para permitir que os córregos das mensagens sejam processados simultaneamente.
Um único feijão mensagem-dirigido pode processar mensagens dos clientes múltiplos.
As variáveis do exemplo do exemplo mensagem-dirigido do feijão podem conter algum estado através da manipulação de mensagens do cliente--por exemplo, uma conexão de JMS API, uma conexão aberta da base de dados, ou uma referência do objeto a um objeto do feijão da empresa.
Quando uma mensagem chega, o recipiente chama o método do onMessage do feijão mensagem-dirigido para processar a mensagem. O método do onMessage molda normalmente a mensagem a um dos cinco tipos e punhos de mensagem de JMS ele de acordo com a lógica do negócio da aplicação. O método do onMessage pode chamar métodos do ajudante, ou pode invocar uma sessão ou um feijão da entidade para processar a informação na mensagem ou para armazená-la em uma base de dados. Uma mensagem pode ser entregada a um feijão mensagem-dirigido dentro de um contexto da transação, de modo que todas as operações dentro do método do onMessage sejam parte de uma única transação. Se processar de mensagem for rolado para trás, a mensagem redelivered.
|