protected void createBridgeServer(VM vm, final String rName, final int port) {
    vm.invoke("Create Region on Server", new CacheSerializableRunnable() {
      @Override
      public void run2() {
        try {
          AttributesFactory<Object, Object> factory = new AttributesFactory<>();
          factory.setScope(Scope.DISTRIBUTED_ACK); // can't be local since used with
                                                   // registerInterest
          factory.setCacheLoader(new CacheServerCacheLoader());
          beginCacheXml();
          createRootRegion(rName, factory.create());
          startBridgeServer(port);
          finishCacheXml(rName + "-" + port);

          Region<Object, Object> region = getRootRegion(rName);
          assertThat(region).isNotNull();
          region.put(BridgeServerKey, port); // A unique key/value to identify the
                                             // BridgeServer
        } catch (Exception e) {
          getSystem().getLogWriter().severe(e);
          fail("Failed to start CacheServer " + e);
        }
      }
    });
  }
Create a server that has a value for every key queried and a unique key/value in the specified
Region that uniquely identifies each instance.

@param vm the VM on which to create the server
@param rName the name of the Region to create on the server
@param port the TCP port on which the server should listen
geode-dunit/src/main/java/org/apache/geode/cache30/ClientServerTestCase.java