The text describes three solutions to prevent connection aborts:
-
Configure the connection string with
autoReconnect=true
. This is a property of the URL connection string, which works at the driver level. You need to change the connection string in the data source configuration.url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true"
-
Increase the timeout. This is normally a property of the database. You can increase this value to see if you get less connection abort.
-
Configure the connection pool to test the connection validatiy. This is done at the pool, not a the driver level. This will depend on the data source implementation that you use. But it should be configurable in the property of the data source, if you use a pooled one, e.g. c3p0.
- Connection pooling options with JDBC: DBCP vs C3P0
- http://snipplr.com/view/14725/c3p0-datasource-config-connectionpool/
- http://www.mchange.com/projects/c3p0/index.html#configuring_connection_testing
Additionnal comments:
- The datasource/pool can also have a timeout, which corresponds to the time an idle connection remains in the pool. To not confused with the db timeout.
- There are several way to test the validity of a connection. One common way is to have dummy test table. The pool will issue a select on the dummy test table to see if the connection is still OK.