Mercurial > dive4elements > gnv-client
diff geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java @ 541:3cbf11c67fdc
Experimental caching of SQL results via Ehache
geo-backend/trunk@462 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 18 Dec 2009 16:13:52 +0000 |
parents | 9f2eaefe9dd4 |
children | 1c3efbd2fc5a |
line wrap: on
line diff
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Thu Dec 17 14:35:02 2009 +0000 +++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Fri Dec 18 16:13:52 2009 +0000 @@ -58,9 +58,18 @@ queryString = super.setFilterValues(queryString, filter); } - log.debug("############ QUERY ##################"); - log.debug(queryString); - log.debug("#######################################"); + if (log.isDebugEnabled()) { + log.debug("############ QUERY ##################"); + log.debug(queryString); + log.debug("#######################################"); + } + + returnValue = cachedResults(queryString); + + if (returnValue != null) { + return returnValue; + } + Connection connection = null; ConnectionPool connectionPool = ConnectionPoolFactory.getInstance().getConnectionPool(); try { @@ -75,6 +84,8 @@ log.error("Could not establish Databaseconnection."); throw new QueryException("Could not establish Databaseconnection."); } + + cacheResults(queryString, returnValue); } catch (ConnectionException e) { log.error(e,e); @@ -101,6 +112,7 @@ log.error(e,e); throw new QueryException("Cannot get the Querystring",e); } + return returnValue; } }