Trasanções gerenciadas pelo Container

Pessoal, sou novo aqui no fórum e se possível gostaria da ajuda de vcs no esclarecimento das seguintes dúvidas:

  1. Quando configuro um datasource no JBoss e obtenho uma conexão a partir desse datasource pela aplicação quer dizer que as transações serão gerenciadas pelo Container?
  2. O fato de ser gerenciada pelo Container implica em nunca utilizar COMMIT explicitamente?
  3. Quando uma transação é iniciada e quando é finalizada? O que indica que um COMMIT ou um ROLLBACK deve ser executado?
  • As perguntas acima se referem a uma aplicação que não utiliza EJBs.

Muito obrigado.
Luiz

Luiz, pelo que entendi vc tem um WAR e nao usa ejbs.
sendo assim é como se estivesse rodando num tomcat. o Jboss nao vai fazer CMT pra ti.

o jboss só inicia uma CMT ( container managed transaction) quando um ejb é acessado e este tem um @PersistenceContext

@Stateless(ful)
class MeuEJB implements MinhaInterface
@PersistenceContext
private EntityManager em;

se vc estiver somente num war, vai ter que usar session filter pra abrir a session e fechar depois do render da pagina.

manda mais info pra eu poder esclarecer, por que esse assunto envolve MUITA COISA.

flw

Vitor, muito obrigado. Já esclareceu bastante coisa.

A minha dúvida surgiu pq entrei no meio de um projeto e olhando o código notei que em nenhum momento o COMMIT é chamado explicitamente (estão usando JDBC direto). Então chego a conclusão que é apenas o modo autocommit da conexão que está ativado.

Vlw