Pessoal, sou novo aqui no fórum e se possível gostaria da ajuda de vcs no esclarecimento das seguintes dúvidas:
- 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?
- O fato de ser gerenciada pelo Container implica em nunca utilizar COMMIT explicitamente?
- 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