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;
     }
 }

http://dive4elements.wald.intevation.org