Olá Pessoal,
Hoje o post é bem simples, na verdade considero este como uma continuação do post sobre pool de conexão. Vou mostrar aqui como fazer hibernate usar o pool de conexão através de uma JNDI. Então será um post bem pequeno, já que vou adicionar apenas as informações referente ao arquivo hibernate.cfg.xml. Se quer comecar do zero, veja o post anterior.
Lets go…
Configurando
-
Certifique-se que você tem no seu projeto o arquivo context.xml e web.xml configurado corretamente.
-
Tanto faz se seu projeto é JSF Project ou Dynamic Web Project desde que seja para plataforma JEE.
-
Não esqueça de adicionar os .jars do hibernate ao seu projeto, se tem dúvida veja neste post.
-
Agora vamos para a parte mais simples, configurar o arquivo hibernate.cfg.xml. Então deixe seu arquivo conforme abaixo:
java:/comp/env/jdbc/blog thread org.hibernate.transaction.JDBCTransactionFactory org.hibernate.dialect.MySQL5InnoDBDialect 0
Pronto observe que agora seu arquivo de configuração do hibernate ele “aponta” para o JNDI que criamos, e quando o schema ou caminho do BD mudar, vamos apenas alterar lá no JNDI e o hibernate já pega a nova informação. Simples não?
Parabéns pelo post Camilo,
Até o momento sempre utilizei o c3p0 para controlar o pool de conexões, porém nunca consegui sanar o problema de reconexão após inatividade do tomcat em produção. Segui seu tutorial, passando o datasource para o context, porém fiquei com uma dúvida, a utilização deste método invalida ou impossibilita o uso do c3p0 do hibernate?
Inclusive lendo o manual de referência encontrei uma não indicação do pool interno do hibernate. Você costuma utilizar qual método em relação ao pool de conexões?