public static void createClient(String host, Integer port1) throws Exception {
    PORT1 = port1;
    Properties props = new Properties();
    props.setProperty(MCAST_PORT, "0");
    props.setProperty(LOCATORS, "");
    new RegisterInterestBeforeRegionCreationDUnitTest().createCache(props);
    Pool p = PoolManager.createFactory().addServer(host, PORT1).setSubscriptionEnabled(true)
        .setSubscriptionRedundancy(-1).setReadTimeout(2000).setSocketBufferSize(1000)
        .setMinConnections(2)
        // retryAttempts 2
        // retryInterval 250
        .create("RegisterInterestBeforeRegionCreationDUnitTestPool");
    AttributesFactory factory = new AttributesFactory();
    factory.setScope(Scope.DISTRIBUTED_ACK);
    factory.setPoolName(p.getName());
    RegionAttributes attrs = factory.createRegionAttributes();
    cache.createVMRegion(REGION_NAME, attrs);
    Region region = cache.getRegion(SEPARATOR + REGION_NAME);
    assertNotNull(region);
    region.registerInterest("ALL_KEYS", InterestResultPolicy.NONE);
  }
- Creates the client-server configuration (which also registers interest) - put on server1 -
verify puts received on client1 - create region on server2 - verify puts received on server2
via GII - verify puts received on client2 via server2
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestBeforeRegionCreationDUnitTest.java