Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

3 Terminology

  • xxx – defn

4 Architectural Description

...

Add new createProxyRegion(String) and createProxyRegion(String, Pool) methods to Client Cache:

 

Code Block
languagejava
Region customersProxy = c.createProxyRegion("customers");

...

 
Region ordersProxy = c.createProxyRegion("orders", serverPool); 

The createProxyRegion will fail if the Region does not exist on any of the default pool's servers. This operation will always succeed if the Region is defined on at least one of the servers in the distributed system. It will not matter if the Region is available on the server that the client connects to. The server will automatically proxy all requests to the appropriate server(s).

...

Clients can currently create a client Region that does not exist on any server (yet). We will change this and require that the servers are up and their regions are available before the client starts creating its Regions. A create on a client will fail unless the Region already exists on at least one server.

Additional API support:

 

Code Block
languagejava
Region customersProxy = c.createProxyRegion("customers");

...

 
Region customersProxyAlso = regionService.getRegion("customers");

...

 
Region parentProxy = customersProxy.getParentRegion();

...

 
Set<Region> subproxies = parentProxy.subregions(true);

...

 
Set<Region> rootProxies = regionService.rootProxyRegions(); 

We'll add RegionService#rootProxyRegions() to return a Set of all root level proxy Regions.

...

As introduced in the MBean Federation Spec, the entry point to GemFire Management is through interface ManagementService:

Code Block
languagejava
ManagementService service = ManagementService.getManagementService(cache);

...

When a ClientCache is used as the argument to ManagementService#getManagementService(Cache), it will create a version of the ManagementService which will delegate all operations to the server group the client is connected to. Usage of this ManagementService will utilize the client connection to the server to delegate to the ManagementService on a server.

...