Tenho meu sistema web, com todas as minahs transações, etc…
Em um determinado momento preciso chamar um processo batch, ou chamar um procedure cabeluda… ou seja, algo que vá demorar ou que simplesmente o meu sistema não precise ficar esperando a conclusão da operação.
Aí você manda uma mensagem, de forma assíncrona, do lado da sua aplicação ele só fala pro seu Message Bean: "Se vira aí "… aí o seu Message Bean diz pra ele “deixa comigo”… sua aplicação segue seu fluxo normalmente sem depender do processo e seu message bean começa a ralar…
Chamadas assíncronas e baixo acoplamento são só 2 vantagens da API de mansagens, uso de mensagens é uma ferrameta muito poderosa, tem um livro “Java Messaging” se não me engano, lí alguns pedaços do pdf e achei muito bom.
Aí você manda uma mensagem, de forma assíncrona, do lado da sua aplicação ele só fala pro seu Message Bean: "Se vira aí "… aí o seu Message Bean diz pra ele “deixa comigo”… .
[/quote]
Ola pessoal…só para ajudar a complementar o raciocionio do rafael…:
Justamente por ter BAIXO acomplamento entre sender e receiver e que nao acontece exatamente como o rafael citou acima…ta faltando mais um “carinha” no meio…o sender…(client qq usando uma factory + connection) na vdd nao envia a msg para o MDB diretamente…ele envia para um middleware / MOM / broker…que recebe as menssagens…e dai depois distribui para canais virtuais na forma subscribe/subscription ou p2p… ou seja cliente nao conhece o MDB e o MDB nao conhece o client…