Search in sources :

Example 21 with Cache

use of org.cache2k.Cache in project cache2k by cache2k.

the class ListenerTest method asyncUpdateListenerCalled.

/**
 * If the listener is not executed in separate thread, this would block
 */
@Test(timeout = TestingParameters.MAX_FINISH_WAIT_MILLIS)
public void asyncUpdateListenerCalled() {
    final AtomicInteger _callCount = new AtomicInteger();
    final CountDownLatch _fire = new CountDownLatch(1);
    Cache<Integer, Integer> c = target.cache(new CacheRule.Specialization<Integer, Integer>() {

        @Override
        public void extend(final Cache2kBuilder<Integer, Integer> b) {
            b.addAsyncListener(new CacheEntryUpdatedListener<Integer, Integer>() {

                @Override
                public void onEntryUpdated(final Cache<Integer, Integer> cache, final CacheEntry<Integer, Integer> currentEntry, final CacheEntry<Integer, Integer> entryWithNewData) {
                    try {
                        _fire.await();
                    } catch (InterruptedException ignore) {
                    }
                    _callCount.incrementAndGet();
                }
            });
        }
    });
    c.put(1, 2);
    assertEquals(0, _callCount.get());
    c.put(1, 2);
    assertEquals(0, _callCount.get());
    _fire.countDown();
    ConcurrencyHelper.await(new Condition() {

        @Override
        public boolean check() throws Exception {
            return _callCount.get() == 1;
        }
    });
}
Also used : Condition(org.cache2k.test.util.Condition) CountDownLatch(java.util.concurrent.CountDownLatch) IntCacheRule(org.cache2k.test.util.IntCacheRule) CacheRule(org.cache2k.test.util.CacheRule) CacheEntry(org.cache2k.CacheEntry) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) CacheEntryUpdatedListener(org.cache2k.event.CacheEntryUpdatedListener) Cache(org.cache2k.Cache) Test(org.junit.Test)

Example 22 with Cache

use of org.cache2k.Cache in project cache2k by cache2k.

the class IntegrationTest method empty.

@Test(expected = UnknownCacheException.class)
public void empty() {
    Cache c = new Cache2kBuilder<String, String>() {
    }.manager(CacheManager.getInstance("empty")).name("anyCache").build();
    c.close();
}
Also used : Cache(org.cache2k.Cache) Test(org.junit.Test)

Example 23 with Cache

use of org.cache2k.Cache in project cache2k by cache2k.

the class IntegrationTest method onlyDefault.

@Test
public void onlyDefault() {
    Cache c = new Cache2kBuilder<String, String>() {
    }.manager(CacheManager.getInstance("onlyDefault")).name("anyCache").build();
    c.close();
    Cache2kConfiguration<String, String> cfg = new Cache2kBuilder<String, String>() {
    }.manager(CacheManager.getInstance("onlyDefault")).name("anyCache").toConfiguration();
    assertEquals(1234, cfg.getEntryCapacity());
    assertTrue(cfg.isExternalConfigurationPresent());
}
Also used : Cache(org.cache2k.Cache) Test(org.junit.Test)

Example 24 with Cache

use of org.cache2k.Cache in project cache2k by cache2k.

the class IntegrationTest method noManagerConfigurationAndBuild.

@Test
public void noManagerConfigurationAndBuild() {
    Cache c = new Cache2kBuilder<String, String>() {
    }.manager(CacheManager.getInstance("noManager")).entryCapacity(1234).build();
    c.close();
}
Also used : Cache(org.cache2k.Cache) Test(org.junit.Test)

Example 25 with Cache

use of org.cache2k.Cache in project cache2k by cache2k.

the class IntegrationTest method illegalBoolean.

@Test(expected = ConfigurationException.class)
public void illegalBoolean() {
    Cache c = new Cache2kBuilder<String, String>() {
    }.manager(CacheManager.getInstance("specialCases")).name("illegalBoolean").build();
    c.close();
}
Also used : Cache(org.cache2k.Cache) Test(org.junit.Test)

Aggregations

Cache (org.cache2k.Cache)60 Test (org.junit.Test)49 CacheManager (org.cache2k.CacheManager)11 Cache2kBuilder (org.cache2k.Cache2kBuilder)9 CacheEntry (org.cache2k.CacheEntry)9 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)8 ExceptionWrapper (org.cache2k.core.ExceptionWrapper)8 InternalCache (org.cache2k.core.InternalCache)8 CacheRule (org.cache2k.test.util.CacheRule)6 Condition (org.cache2k.test.util.Condition)6 IntCacheRule (org.cache2k.test.util.IntCacheRule)5 CountDownLatch (java.util.concurrent.CountDownLatch)3 MBeanInfo (javax.management.MBeanInfo)3 Log (org.cache2k.core.util.Log)3 CacheEntryCreatedListener (org.cache2k.event.CacheEntryCreatedListener)3 CacheEntryUpdatedListener (org.cache2k.event.CacheEntryUpdatedListener)3 ArrayList (java.util.ArrayList)2 CacheLoaderException (org.cache2k.integration.CacheLoaderException)2 Collection (java.util.Collection)1 Date (java.util.Date)1