private void verifyGemFireSetup(final Peer manager) { manager.run( new SerializableRunnable( "Verifies the GemFire Cluster was properly configured and initialized!") { @Override public void run() { final ManagementService managementService = ManagementService.getExistingManagementService(getCache()); WaitCriterion waitOnManagerCriterion = new WaitCriterion() { @Override public boolean done() { ManagerMXBean managerBean = managementService.getManagerMXBean(); DistributedRegionMXBean usersRegionBean = managementService.getDistributedRegionMXBean( getRegionPath(USERS_REGION_NAME)); return !(managerBean == null || usersRegionBean == null); } @Override public String description() { return String.format( "Probing for the GemFire Manager '%1$s' and '%2$s' Region MXBeans...", manager.getName(), USERS_REGION_NAME); } }; DistributedTestCase.waitForCriterion(waitOnManagerCriterion, 30000, 2000, true); } }); }
protected void initializePeer(final Peer peer) { peer.run( new SerializableRunnable( String.format( "Initializes the '%1$s' with the '%2$s' Region having a CacheLoader.", GEMFIRE_SERVER_NAME, USERS_REGION_NAME)) { @Override public void run() { // create the GemFire Distributed System with custom distribution configuration // properties and settings getSystem(peer.getConfiguration()); Cache cache = getCache(); RegionFactory<String, User> regionFactory = cache.createRegionFactory(RegionShortcut.REPLICATE); regionFactory.setCacheLoader(new UserDataStoreCacheLoader()); regionFactory.setInitialCapacity(51); regionFactory.setKeyConstraint(String.class); regionFactory.setLoadFactor(0.75f); regionFactory.setStatisticsEnabled(false); regionFactory.setValueConstraint(User.class); Region<String, User> users = regionFactory.create(USERS_REGION_NAME); assertNotNull(users); assertEquals("Users", users.getName()); assertEquals("/Users", users.getFullPath()); assertTrue(users.isEmpty()); assertNull(users.put("jonbloom", new User("jonbloom"))); assertFalse(users.isEmpty()); assertEquals(1, users.size()); assertEquals(new User("jonbloom"), users.get("jonbloom")); } }); }