@Override public TestRegionFactory findRegionFactory(Cache cache) { return new TestRegionFactoryImpl((InfinispanRegionFactory) ((CacheImplementor) cache).getRegionFactory()); }
private void test(String cacheKeysFactory, String keyClassName) throws Exception { SessionFactory sessionFactory = getSessionFactory(cacheKeysFactory); withTxSession(false, sessionFactory, s -> { Person person = new Person("John", "Black", 39); s.persist(person); }); RegionFactory regionFactory = ((CacheImplementor) sessionFactory.getCache()).getRegionFactory(); TestRegionFactory factory = TestRegionFactoryProvider.load().wrap(regionFactory); Cache<Object, Object> cache = factory.getCacheManager().getCache(Person.class.getName()); Iterator<Object> iterator = cache.getAdvancedCache().getDataContainer().keySet().iterator(); assertTrue(iterator.hasNext()); Object key = iterator.next(); assertEquals(keyClassName, key.getClass().getSimpleName()); withTxSession(false, sessionFactory, s -> { Person person = s.load(Person.class, new Name("John", "Black")); assertEquals(39, person.getAge()); }); } }