Search in sources :

Example 6 with Cacheable

use of org.kie.internal.runtime.Cacheable in project jbpm by kiegroup.

the class CacheManagerImplTest method testDispose.

@Test
public void testDispose() throws Exception {
    CacheManager cacheManager = new CacheManagerImpl();
    Cacheable cacheable = mock(Cacheable.class);
    Cacheable otherCacheable = mock(Cacheable.class);
    Object cached = new Object();
    cacheManager.add("cacheable", cacheable);
    cacheManager.add("other_cacheable", otherCacheable);
    cacheManager.add("cached", cached);
    // verify that objects have been added correctly
    assertEquals(cacheable, cacheManager.get("cacheable"));
    assertEquals(otherCacheable, cacheManager.get("other_cacheable"));
    assertEquals(cached, cacheManager.get("cached"));
    cacheManager.dispose();
    // cache should be empty after dispose
    assertNull(cacheManager.get("cacheable"));
    assertNull(cacheManager.get("other_cacheable"));
    assertNull(cacheManager.get("cached"));
    // close() method has been called on cached objects which implement Cacheable
    verify(cacheable).close();
    verify(otherCacheable).close();
}
Also used : Cacheable(org.kie.internal.runtime.Cacheable) CacheManager(org.kie.internal.runtime.manager.CacheManager) Test(org.junit.Test)

Aggregations

Cacheable (org.kie.internal.runtime.Cacheable)6 ObjectModel (org.kie.internal.runtime.conf.ObjectModel)4 InternalRuntimeManager (org.kie.internal.runtime.manager.InternalRuntimeManager)3 ArrayList (java.util.ArrayList)2 Closeable (org.kie.internal.runtime.Closeable)2 DeploymentDescriptor (org.kie.internal.runtime.conf.DeploymentDescriptor)2 Map (java.util.Map)1 NamingException (javax.naming.NamingException)1 CaseEventListener (org.jbpm.casemgmt.api.event.CaseEventListener)1 NotifyParentCaseEventListener (org.jbpm.casemgmt.impl.wih.NotifyParentCaseEventListener)1 Test (org.junit.Test)1 NamedObjectModel (org.kie.internal.runtime.conf.NamedObjectModel)1 ObjectModelResolver (org.kie.internal.runtime.conf.ObjectModelResolver)1 CacheManager (org.kie.internal.runtime.manager.CacheManager)1 ParserConfiguration (org.mvel2.ParserConfiguration)1 ParserContext (org.mvel2.ParserContext)1