Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/HTTPServerOnlyResourceStatisticsFactory.java =================================================================== --- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/HTTPServerOnlyResourceStatisticsFactory.java (revision 21270) +++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/HTTPServerOnlyResourceStatisticsFactory.java (working copy) @@ -21,6 +21,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -152,12 +153,16 @@ public int purgeRawData() throws SQLException { Connection connection = null; - Statement stmt = null; + PreparedStatement stmt = null; try { connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME); - stmt = connection.createStatement(); - return stmt.executeUpdate("DELETE FROM " + Constants.__SQL_TABLE_NAME_HTTPSERVER_ACCESS + " WHERE PROCESSED = 1"); + stmt = connection.prepareStatement("DELETE FROM " + Constants.__SQL_TABLE_NAME_HTTPSERVER_ACCESS + " WHERE PROCESSED = 1 OR Created_At < ?"); + + Timestamp purgeThreshold = new Timestamp(System.currentTimeMillis() - 24 * 60 * 60 * 1000); + stmt.setTimestamp(1, purgeThreshold); + + return stmt.executeUpdate(); } finally { Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageElementResourceStatisticsFactory.java =================================================================== --- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageElementResourceStatisticsFactory.java (revision 21270) +++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageElementResourceStatisticsFactory.java (working copy) @@ -21,6 +21,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; @@ -111,12 +112,16 @@ public int purgeRawData() throws SQLException { Connection connection = null; - Statement stmt = null; + PreparedStatement stmt = null; try { connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME); - stmt = connection.createStatement(); - return stmt.executeUpdate("DELETE FROM " + Constants.__SQL_TABLE_NAME_PAGE_ELEMENTS_ACCESS + " WHERE PROCESSED = 1"); + stmt = connection.prepareStatement("DELETE FROM " + Constants.__SQL_TABLE_NAME_PAGE_ELEMENTS_ACCESS + " WHERE PROCESSED = 1 OR Created_At < ?"); + + Timestamp purgeThreshold = new Timestamp(System.currentTimeMillis() - 24 * 60 * 60 * 1000); + stmt.setTimestamp(1, purgeThreshold); + + return stmt.executeUpdate(); } finally { Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageResourceStatisticsFactory.java =================================================================== --- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageResourceStatisticsFactory.java (revision 21270) +++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/PageResourceStatisticsFactory.java (working copy) @@ -21,6 +21,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -158,12 +159,16 @@ public int purgeRawData() throws SQLException { Connection connection = null; - Statement stmt = null; + PreparedStatement stmt = null; try { connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME); - stmt = connection.createStatement(); - return stmt.executeUpdate("DELETE FROM " + Constants.__SQL_TABLE_NAME_PAGE_ACCESS + " WHERE PROCESSED = 1"); + stmt = connection.prepareStatement("DELETE FROM " + Constants.__SQL_TABLE_NAME_PAGE_ACCESS + " WHERE PROCESSED = 1 OR Created_At < ?"); + + Timestamp purgeThreshold = new Timestamp(System.currentTimeMillis() - 24 * 60 * 60 * 1000); + stmt.setTimestamp(1, purgeThreshold); + + return stmt.executeUpdate(); } finally { Index: main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontOnlyResourceStatisticsFactory.java =================================================================== --- main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontOnlyResourceStatisticsFactory.java (revision 21270) +++ main/plugin-web/src/org/ametys/web/cache/monitoring/process/statistics/impl/FrontOnlyResourceStatisticsFactory.java (working copy) @@ -21,6 +21,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; +import java.sql.Timestamp; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -156,12 +157,16 @@ public int purgeRawData() throws SQLException { Connection connection = null; - Statement stmt = null; + PreparedStatement stmt = null; try { connection = ConnectionHelper.getConnection(Constants.MONITORING_DATASOURCE_POOLNAME); - stmt = connection.createStatement(); - return stmt.executeUpdate("DELETE FROM " + Constants.__SQL_TABLE_NAME_FRONT_ACCESS + " WHERE PROCESSED = 1"); + stmt = connection.prepareStatement("DELETE FROM " + Constants.__SQL_TABLE_NAME_FRONT_ACCESS + " WHERE PROCESSED = 1 OR Created_At < ?"); + + Timestamp purgeThreshold = new Timestamp(System.currentTimeMillis() - 24 * 60 * 60 * 1000); + stmt.setTimestamp(1, purgeThreshold); + + return stmt.executeUpdate(); } finally {