public void testEvictWKey(CacheableService<?> service) throws Exception { Object o1 = new Object(); Object r1 = service.cache(o1); Object r2 = service.cache(o1); assertSame(r1, r2); service.evict(o1, null); Object r3 = service.cache(o1); Object r4 = service.cache(o1); assertNotSame(r1, r3); assertSame(r3, r4); }
public void testConditionalExpression(CacheableService<?> service) throws Exception { Object r1 = service.conditional(4); Object r2 = service.conditional(4); assertNotSame(r1, r2); Object r3 = service.conditional(3); Object r4 = service.conditional(3); assertSame(r3, r4); }
public void testEvict(CacheableService<?> service) throws Exception { Object o1 = new Object(); Object r1 = service.cache(o1); Object r2 = service.cache(o1); assertSame(r1, r2); service.invalidate(o1); Object r3 = service.cache(o1); Object r4 = service.cache(o1); assertNotSame(r1, r3); assertSame(r3, r4); }
public void testEvictException(CacheableService<?> service) throws Exception { Object o1 = new Object(); Object r1 = service.cache(o1); Object r2 = service.cache(o1); assertSame(r1, r2); try { service.evictWithException(o1); } catch (RuntimeException ex) { // expected } // exception occurred, eviction skipped, data should still be in the cache Object r3 = service.cache(o1); assertSame(r1, r3); }
@Override public void testMultiEvict(CacheableService<?> service) { Object o1 = new Object(); Object r1 = service.multiCache(o1); Object r2 = service.multiCache(o1); Cache primary = cm.getCache("primary"); Cache secondary = cm.getCache("secondary"); assertSame(r1, r2); assertSame(r1, primary.get(o1).get()); assertSame(r1, secondary.get(o1).get()); service.multiEvict(o1); assertNull(primary.get(o1)); assertNull(secondary.get(o1)); Object r3 = service.multiCache(o1); Object r4 = service.multiCache(o1); assertNotSame(r1, r3); assertSame(r3, r4); assertSame(r3, primary.get(o1).get()); assertSame(r4, secondary.get(o1).get()); }
public void testEvictEarly(CacheableService<?> service) throws Exception { Object o1 = new Object(); Object r1 = service.cache(o1); Object r2 = service.cache(o1); assertSame(r1, r2); try { service.evictEarly(o1); } catch (RuntimeException ex) { // expected } Object r3 = service.cache(o1); Object r4 = service.cache(o1); assertNotSame(r1, r3); assertSame(r3, r4); }
public void testEvictWKeyEarly(CacheableService<?> service) throws Exception { Object o1 = new Object(); Object r1 = service.cache(o1); Object r2 = service.cache(o1); assertSame(r1, r2); try { service.invalidateEarly(o1, null); } catch (Exception ex) { // expected } Object r3 = service.cache(o1); Object r4 = service.cache(o1); assertNotSame(r1, r3); assertSame(r3, r4); }
public void testEvictAll(CacheableService<?> service) throws Exception { Object o1 = new Object(); Object r1 = service.cache(o1); Object r2 = service.cache(o1); Object o2 = new Object(); Object r10 = service.cache(o2); assertSame(r1, r2); assertNotSame(r1, r10); service.evictAll(new Object()); Cache cache = this.cm.getCache("testCache"); assertNull(cache.get(o1)); assertNull(cache.get(o2)); Object r3 = service.cache(o1); Object r4 = service.cache(o1); assertNotSame(r1, r3); assertSame(r3, r4); }
public void testMultiCache(CacheableService<?> service) { Object o1 = new Object(); Object o2 = new Object(); Cache primary = this.cm.getCache("primary"); Cache secondary = this.cm.getCache("secondary"); assertNull(primary.get(o1)); assertNull(secondary.get(o1)); Object r1 = service.multiCache(o1); assertSame(r1, primary.get(o1).get()); assertSame(r1, secondary.get(o1).get()); Object r2 = service.multiCache(o1); Object r3 = service.multiCache(o1); assertSame(r1, r2); assertSame(r1, r3); assertNull(primary.get(o2)); assertNull(secondary.get(o2)); Object r4 = service.multiCache(o2); assertSame(r4, primary.get(o2).get()); assertSame(r4, secondary.get(o2).get()); }
public void testConditionalExpressionSync(CacheableService<?> service) throws Exception { Object r1 = service.conditionalSync(4); Object r2 = service.conditionalSync(4); assertNotSame(r1, r2); Object r3 = service.conditionalSync(3); Object r4 = service.conditionalSync(3); assertSame(r3, r4); }
@Test public void testCustomCacheManager() { CacheManager customCm = this.ctx.getBean("customCacheManager", CacheManager.class); Object key = new Object(); Object r1 = this.cs.customCacheManager(key); assertSame(r1, this.cs.customCacheManager(key)); Cache cache = customCm.getCache("testCache"); assertNotNull(cache.get(key)); }
public void testConditionalCacheUpdate(CacheableService<?> service) { Integer one = 1; Integer three = 3; Cache cache = this.cm.getCache("testCache"); assertEquals(one, Integer.valueOf(service.conditionalUpdate(one).toString())); assertNull(cache.get(one)); assertEquals(three, Integer.valueOf(service.conditionalUpdate(three).toString())); assertEquals(three, Integer.valueOf(cache.get(three).get().toString())); }
public void testCacheableNull(CacheableService<?> service) throws Exception { Object o1 = new Object(); assertNull(this.cm.getCache("testCache").get(o1)); Object r1 = service.cacheNull(o1); Object r2 = service.cacheNull(o1); Object r3 = service.cacheNull(o1); assertSame(r1, r2); assertSame(r1, r3); assertEquals(r3, this.cm.getCache("testCache").get(o1).get()); assertNull("Cached value should be null", r3); }
public void testCacheableSyncNull(CacheableService<?> service) throws Exception { Object o1 = new Object(); assertNull(this.cm.getCache("testCache").get(o1)); Object r1 = service.cacheSyncNull(o1); Object r2 = service.cacheSyncNull(o1); Object r3 = service.cacheSyncNull(o1); assertSame(r1, r2); assertSame(r1, r3); assertEquals(r3, this.cm.getCache("testCache").get(o1).get()); assertNull("Cached value should be null", r3); }
public void testMultiEvict(CacheableService<?> service) { Object o1 = new Object(); Object o2 = o1.toString() + "A"; Object r1 = service.multiCache(o1); Object r2 = service.multiCache(o1); Cache primary = this.cm.getCache("primary"); Cache secondary = this.cm.getCache("secondary"); primary.put(o2, o2); assertSame(r1, r2); assertSame(r1, primary.get(o1).get()); assertSame(r1, secondary.get(o1).get()); service.multiEvict(o1); assertNull(primary.get(o1)); assertNull(secondary.get(o1)); assertNull(primary.get(o2)); Object r3 = service.multiCache(o1); Object r4 = service.multiCache(o1); assertNotSame(r1, r3); assertSame(r3, r4); assertSame(r3, primary.get(o1).get()); assertSame(r4, secondary.get(o1).get()); }