Controle de Transação - JMS

3 respostas
mcampelo
  1. Tenho uma aplicação rodando no WebLogic que envia mensagem para uma fila JMS.

  2. Tenho uma aplicação StandAlone (não estou utilizando MDB) que consome mensagens dessa fila e faz insert no banco de dados.

Se o insert é realizado com sucesso, tenho que garantir que a mensagem foi tirada da fila, se não, tenho que fazer um rollback (no Oracle).

Isso pode ser feito de maneira automática ou tenho que programar esse controle de transação (Oracle, JMS) na mão?

[]'s

3 Respostas

Rafael_Steil

O JMS tem controle de transacao sim… ao iniciar a requisicao, vc, programaticamente, diz para a aplicacao entrar em modo transacional, usando os respectivos objetos.
Depois que voce recebe a mensagem, vc pode inserir no banco e, se for tudo ok, da um commit. Caso contrario da rollback e a mensagem volta.

Rafael

louds

Voce pode usar JTA, caso tenha 1 DTC disponivel, e deixar que alguem coordene as transações.

Rafael_Steil

hm, mas qual seria a vantagem? o jms ja tem suporte transacional por padrao, e a maioria dos drivers jdbc tmb suportam…

Rafael

Criado 27 de abril de 2004
Ultima resposta 28 de abr. de 2004
Respostas 3
Participantes 3