public void setUpClientVM(String host, int port, boolean isDurable, String vmID) {
    Properties gemFireProps = new Properties();
    if (isDurable) {
      gemFireProps.put(DURABLE_CLIENT_ID, vmID);
      gemFireProps.put(DURABLE_CLIENT_TIMEOUT, "" + DURABLE_CLIENT_TIMEOUT_TEST);
    }
    ClientCacheFactory clientCacheFactory = new ClientCacheFactory(gemFireProps);
    clientCacheFactory.addPoolServer(host, port);
    clientCacheFactory.setPoolSubscriptionEnabled(true);
    clientCacheFactory.setPoolMinConnections(5);
    clientCache = clientCacheFactory.create();
    ClientRegionFactory<String, String> regionFactory =
        clientCache.createClientRegionFactory(ClientRegionShortcut.PROXY);
    Region<String, String> region = regionFactory.create("serverRegion");

    LogWriterUtils.getLogWriter()
        .info("Client Cache is created in this vm connected to cacheServer " + host + ":" + port
            + " durable? " + isDurable + " with VMID=" + vmID + " region " + region.getFullPath()
            + " regionSize " + region.size());
    assertNotNull(clientCache);
    assertNotNull(region);
  }
Written to test fix for Bug #47132
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/InterestRegrListenerDUnitTest.java