Next: O Que Você Deve
Up: tfinal
Previous: tfinal
Atualmente existem no JBoss duas alternativas para gerenciamento de
transações:
- Usar um MBean que integra ao JBoss o Tyrex
(http://tyrex.exolab.org), um gerenciador de transações
open-source desenvolvido pelo grupo Exolab. O MBean que
faz essa integração é o
org.jboss.tm.plugins.tyrex.TransactionManagerService,
cujos fontes estão no subdiretório varia. Por empregar um
gerenciador de transações completo, esta é a alternativa mais
``pesada''.
- Usar o MBean que ativa o mini-gerenciador de transações do JBoss.
Este MBean é o
org.jboss.tm.TransactionManagerService,
cujos fontes estavam no subdiretório server das versões
de JBoss anteriores à 3.2 e, a partir da versão 3.2, estão no
subdiretório transaction. Esta alternativa emprega um
gerenciador de transações que não tem logging (e portanto
não faz tratamento de recuperação de quedas) nem propaga o
contexto transacional para outros servidores JBoss (ou seja, não
trata transações distribuídas envolvendo vários servidores JBoss).
Por esse motivo ela é bem mais ``leve'' que a anterior.
A segunda alternativa é muito mais veloz, mas tem duas desvantagens:
- Ela não é adequada para aplicações tipo ``missão crítica'', que
necessitam de garantia absoluta de que mesmo em caso de queda do
sistema, este não ficará num estado inconsistente, com alguma
transação executada ``pela metade''. Não se deve usar um
gerenciador de transações sem logging para uma aplicação
que manipula contas bancárias, por exemplo.
- Ele não funciona para o caso de transações que começam num
servidor JBoss e chamam (direta ou indiretamente) beans que
requerem contexto transacional e são implementados por outros
servidores JBoss. Isto não significa que transações distribuídas
não funcionam de jeito nenhum. O mini-gerenciador coordena o
two-phase commit de transações envolvendo múltiplos
gerenciadores de recursos XA (bancos de dados ou filas de
mensagens), rodando em várias máquinas, desde que todos os
beans correspondentes a esses recursos estejam no mesmo
servidor JBoss.
Next: O Que Você Deve
Up: tfinal
Previous: tfinal
Francisco Reverbel
2002-11-06