You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Stefan Guggisberg (JIRA)" <ji...@apache.org> on 2006/10/25 14:32:17 UTC

[jira] Commented: (JCR-576) Close Connection when I use PersistenManager and FileSystem with mysql database

    [ http://issues.apache.org/jira/browse/JCR-576?page=comments#action_12444649 ] 
            
Stefan Guggisberg commented on JCR-576:
---------------------------------------

-1 

the proposed solution implicates unnecessary overhead through additional server roundtrips for every operation.

another problem is that when the reconnect occurs in the middle of a transaction the results will be unpredicatable.

> 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
>          Components: core
>    Affects Versions: 1.0.1, 1.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