Hallo,
Ich habe einen Server aufgesetzt und eine Java WebApp deployed. Leider verliert die Applikation nach zur einen Tag die Konnektivität zur Datenbank. Im catalina.out file finde ich diesbezüglich folgende Einträge:
Nach einer Recherche habe ich festgestellt, dass ich wohl das folgende JDBC Setting machen muss, um die maximale Idle Time zu reduzierent:
Mir ist nun überhaupt nicht klar, wo und wie ich das Setting machen kann. Ich habe einen Ubunutu Server 10.04 aufgesetzt. Hier habe ich einen Apache2 mit Tomcat7 und einer Mysql Datenbank.
Muss ich das Setting in irgendeiner Mysql Config Datei vornehmen, oder muss ich irgendein Pooling einrichten?
Gruß
Stefan
Ich habe einen Server aufgesetzt und eine Java WebApp deployed. Leider verliert die Applikation nach zur einen Tag die Konnektivität zur Datenbank. Im catalina.out file finde ich diesbezüglich folgende Einträge:
HTML:
SCHWERWIEGEND: Servlet.service() for servlet jsp threw exception
java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
2012-11-15 06:11:15 - ERROR - de.stefan.tippspiel.Controller : Error in dispatch: javax.servlet.ServletException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 33.106.864 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago.
org.apache.jasper.JasperException: javax.servlet.ServletException: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 33.106.864 milliseconds ago. The last packet sent successfully to the server was 1 milliseconds ago.
Nach einer Recherche habe ich festgestellt, dass ich wohl das folgende JDBC Setting machen muss, um die maximale Idle Time zu reduzierent:
I resolved above error by setting following property
jdbc.default.maxIdleTime=3600
Above value is in seconds - It means after every hour it will get new connection(s).
By default maxIdleTime is set as '0'. This means jdbc connection will keep alive in liferay indefinitely.
But corresponding connection instance in MySQL will die after certain time if it is idle. This is defined by wait_timeout variable of MySQL
Mir ist nun überhaupt nicht klar, wo und wie ich das Setting machen kann. Ich habe einen Ubunutu Server 10.04 aufgesetzt. Hier habe ich einen Apache2 mit Tomcat7 und einer Mysql Datenbank.
Muss ich das Setting in irgendeiner Mysql Config Datei vornehmen, oder muss ich irgendein Pooling einrichten?
Gruß
Stefan