[ http://issues.apache.org/jira/browse/JCR-576?page=all ]
Jorge Rodríguez Pedrianes updated JCR-576: ------------------------------------------ Attachment: DatabaseFileSystem.java DatabasePersistenceManager.java The attachmented files are the modified classes that use the checkConnection method. An example of configuration is: <FileSystem class="org.apache.jackrabbit.core.fs.db.JNDIDatabaseFileSystem"> <param name="dataSourceLocation" value="java:comp/env/jdbc/nameDS"/> <param name="checkValidConnectionSQL" value="select 0 from dual" /> <param name="schemaObjectPrefix" value="repository_"/> </FileSystem> <PersistenceManager class="org.apache.jackrabbit.core.state.db.JNDIDatabasePersistenceManager"> <param name="dataSourceLocation" value="java:comp/env/jdbc/PriSolicitudDS"/> <param name="checkValidConnectionSQL" value="select 0 from dual" /> <param name="schemaObjectPrefix" value="${wsp.name}_"/> <param name="externalBLOBs" value="false"/> </PersistenceManager> > Close Connection when I use PersistenManager and FileSystem with mysql > database > ------------------------------------------------------------------------------- > > Key: JCR-576 > URL: http://issues.apache.org/jira/browse/JCR-576 > Project: Jackrabbit > Issue Type: Improvement > Affects Versions: 1.0.1 > Environment: tomcat 5.5.7 > mysql 5.0 > jackrabbit 1.0.1 > Reporter: Jorge Rodríguez Pedrianes > Attachments: DatabaseFileSystem.java, DatabasePersistenceManager.java > > > Hello. > In this days i was trying to configure jackrabbit with mysql database, > but i saw that connections to database were closed when my application was > idle about 8 hours. When i try to access to application this threw a > exception and i needed to restart tomcat to resolve this problem. First, I > tried to resolve it adding a parameter to url connection > (autoReconnect=true), but this solution isn't successfully. > Then i saw your codes (DatabasePersistenceManager.java and > DatabaseFileSystem.java) and i could see the problem: when the connections > are closed by the server; the connection ("con" attribute) isn't restarted. > So, I added a checkConnection Method, this method is add in all methods that > need conection: > protected void checkConnection() throws FileSystemException { > if (checkValidConnectionSQL == null) { > return; > } > try { > checkConnection.executeQuery(); > } catch (SQLException e) { > log.warn("Restart connection, ErrorCode= \"" + > e.getErrorCode()+ "\""); > initialized = false; > init(); > e.printStackTrace(); > > } > } > I think that this improvement it's very interesting to avoid restart > connections when are necesary > Thanks: > Jorge Rodríguez Pedrianes -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira