From a5e3a709219b26dbd078c481a0d4bedbbec7a459 Mon Sep 17 00:00:00 2001 From: rob bygrave Date: Sun, 28 Apr 2019 09:50:45 +1200 Subject: [PATCH] #1685 DefaultServerCache expose hit and miss count to assist testing Expose these counters to assist the testing of duel caches where DefaultServerCache is used as the near cache. --- .../server/cache/DefaultServerCache.java | 14 ++++++++++++++ .../server/cache/DefaultServerCacheTest.java | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/src/main/java/io/ebeaninternal/server/cache/DefaultServerCache.java b/src/main/java/io/ebeaninternal/server/cache/DefaultServerCache.java index 6c08d1975..a008c178d 100644 --- a/src/main/java/io/ebeaninternal/server/cache/DefaultServerCache.java +++ b/src/main/java/io/ebeaninternal/server/cache/DefaultServerCache.java @@ -119,6 +119,20 @@ public class DefaultServerCache implements ServerCache { return cacheStats; } + /** + * Return the count of get hits. + */ + public long getHitCount() { + return hitCount.get(false); + } + + /** + * Return the count of get misses. + */ + public long getMissCount() { + return missCount.get(false); + } + @Override public int getHitRatio() { diff --git a/src/test/java/io/ebeaninternal/server/cache/DefaultServerCacheTest.java b/src/test/java/io/ebeaninternal/server/cache/DefaultServerCacheTest.java index 53fcdf1e1..e86a4cea0 100644 --- a/src/test/java/io/ebeaninternal/server/cache/DefaultServerCacheTest.java +++ b/src/test/java/io/ebeaninternal/server/cache/DefaultServerCacheTest.java @@ -27,14 +27,21 @@ public class DefaultServerCacheTest { DefaultServerCache cache = createCache(); assertEquals(0, cache.getHitRatio()); + assertEquals(0, cache.getHitCount()); + assertEquals(0, cache.getMissCount()); cache.put("A", "A"); cache.get("A"); assertEquals(100, cache.getHitRatio()); + assertEquals(1, cache.getHitCount()); + assertEquals(0, cache.getMissCount()); cache.get("B"); assertEquals(50, cache.getHitRatio()); + assertEquals(1, cache.getMissCount()); cache.get("B"); cache.get("B"); assertEquals(25, cache.getHitRatio()); + assertEquals(3, cache.getMissCount()); + assertEquals(1, cache.getHitCount()); } @Test