JMS - Retirando uma mensagem por vez

6 respostas
R

Boa noite

Implementei um Message Driven Bean(MDB) para uma fila JMS usando Glassfish e estou com o seguinte problema: Supomos que a fila contenha 100 mensagens para serem processadas pois chegou tudo de uma vez, o resultado disso é que eu terei 100 MDB sendo executando simultaneamente.

Isso ocorre porque o MDB tem um tempo muito longo de processamento, e o resultado seria melhor se só retirasse a mensagem da fila para ser processada assim que terminar de processar a anterior, mesmo porque eu preciso que o banco de dados seja atualizado antes de processar a próxima mensagem.

Alguém sabe se isso é possível ?
Desde já muito obrigado.

6 Respostas

edu53

ronildobraga:
Boa noite

Implementei um Message Driven Bean(MDB) para uma fila JMS usando Glassfish e estou com o seguinte problema: Supomos que a fila contenha 100 mensagens para serem processadas pois chegou tudo de uma vez, o resultado disso é que eu terei 100 MDB sendo executando simultaneamente.

Isso ocorre porque o MDB tem um tempo muito longo de processamento, e o resultado seria melhor se só retirasse a mensagem da fila para ser processada assim que terminar de processar a anterior, mesmo porque eu preciso que o banco de dados seja atualizado antes de processar a próxima mensagem.

Alguém sabe se isso é possível ?
Desde já muito obrigado.

Bom dia, so e possivel fazer isso que vc quer deixano 1 mdb para ler a fila

Tchello

edu53:
ronildobraga:
Boa noite

Implementei um Message Driven Bean(MDB) para uma fila JMS usando Glassfish e estou com o seguinte problema: Supomos que a fila contenha 100 mensagens para serem processadas pois chegou tudo de uma vez, o resultado disso é que eu terei 100 MDB sendo executando simultaneamente.

Isso ocorre porque o MDB tem um tempo muito longo de processamento, e o resultado seria melhor se só retirasse a mensagem da fila para ser processada assim que terminar de processar a anterior, mesmo porque eu preciso que o banco de dados seja atualizado antes de processar a próxima mensagem.

Alguém sabe se isso é possível ?
Desde já muito obrigado.

Bom dia, so e possivel fazer isso que vc quer deixano 1 mdb para ler a fila


Pelo que entendi o sistema dele já está assim.
O que ele quis dizer é que se há 100 msgs na fila o servidor de aplicações dele criará, digamos ai, 100 instâncias desse MDB e os executará em paralelo.
É isso?

R

Tchello:
edu53:
ronildobraga:
Boa noite

Implementei um Message Driven Bean(MDB) para uma fila JMS usando Glassfish e estou com o seguinte problema: Supomos que a fila contenha 100 mensagens para serem processadas pois chegou tudo de uma vez, o resultado disso é que eu terei 100 MDB sendo executando simultaneamente.

Isso ocorre porque o MDB tem um tempo muito longo de processamento, e o resultado seria melhor se só retirasse a mensagem da fila para ser processada assim que terminar de processar a anterior, mesmo porque eu preciso que o banco de dados seja atualizado antes de processar a próxima mensagem.

Alguém sabe se isso é possível ?
Desde já muito obrigado.

Bom dia, so e possivel fazer isso que vc quer deixano 1 mdb para ler a fila


Pelo que entendi o sistema dele já está assim.
O que ele quis dizer é que se há 100 msgs na fila o servidor de aplicações dele criará, digamos ai, 100 instâncias desse MDB e os executará em paralelo.
É isso?

Sim é isso mesmo, é ai onde esta o problema.
Conhece alguma solução ?

Tchello

Opa, não sei não =Z
Mas fiz uma pesquisa com as tags “single+instance+mdb” e obtive uns resultados interessantes:

http://community.jboss.org/message/149385#149385

http://forums.sun.com/thread.jspa?threadID=5213061

Espero que isso lhe seja útil.
Abraços.

R

Opa é sim… obrigado.

Tchello

Opa, se conseguir resolver posta ai pra gente saber como.

Abraços.

Criado 24 de fevereiro de 2010
Ultima resposta 25 de fev. de 2010
Respostas 6
Participantes 3