Estamos utilizando Tomcat, Hibernate e Firebird. Cada vez que o banco de dados é reiniciado, também temos que, reiniciar o Tomcat. Existe alguma saída para não prescisar reinicar o Tomcat cada vez que for reiniciado o banco de dados?
Eu tenho o mesmo problema aqui no meu servidor, quando o PostgreSQL é iniciado, tenho que reiniciar o Tomcat.
O que fizemos pra resolver, foi um script, toda vem q o postgreSQL é “levantado”, ele levanta o Tomcat também (verifica se o Tomcat já está rodando, em caso positivo, da um stop e depois um start)
Caso tenha uma solução mais elegante, eu também gostaria de saber.
L
lfgambabr
O problema foi resolvido utilizando a função:
HibernateUtil.rebuildSessionFactory()
foi chamada a função antes do logim, logo, cada login a sessão é remapeada novamente.
[]´s
L
leandrocapuano
Saudacoes brothers,
O lance legal (elegante) tambem para resolver esta parada eh no DataSource, onde voce preenche a tag validationQuery, como segue exemplo abaixo:
<?xmlversion='1.0'encoding='utf-8'?><Contextpath="/axis2"><Resourcename="jdbc/database"type="javax.sql.DataSource"password="xxxxx"driverClassName="com.informix.jdbc.IfxDriver"maxIdle="50"maxWait="50000"validationQuery="select count(*) from table"username="root"url="jdbc:informix-sqli://<<server>>/<<database>>:informixserver=<<database_tcp>>"maxActive="50"/></Context>
Quero lembrar que o contexto acima eh do Tomcat da versao 5.5.17. Se voce reparar a tag validationQuery, faco uma consulta simples, qdo o banco tiver fora e depois voltar, o Tomcat da reload na aplicacao e nao teremos dor de cabeca de ficar shutdowing/startuping no Tom.