Swapnil Bawaskar created GEODE-215:
--------------------------------------

             Summary: Provide ability to create regions from client
                 Key: GEODE-215
                 URL: https://issues.apache.org/jira/browse/GEODE-215
             Project: Geode
          Issue Type: Improvement
          Components: core
            Reporter: Swapnil Bawaskar


Currently regions on the server are created through gfsh or by declaring them 
in cache.xml. The API to create regions on client, creates regions only on the 
client which then connects to an existing region on the server with the same 
name. 

h4. New API
The improvement proposed here is to provide an API from the client to create 
regions on the server.

The current client API to create regions is:
{code}
clientCache.createClientRegionFactory(ClientRegionShortcut).create();
{code}
For applications that embed GemFire servers, there is already an API to create 
regions on the servers:
{code}
cache.createRegionFactory(RegionShortcut).create();
{code}
The clients should support this API so that it can create regions on the 
server. Since this method returns a Region, we should create a 
ClientRegionShortcut.PROXY region on the client. If a different region type is 
desired on the client, users can first use createClientRegionFactory() to 
create the region on the client followed by using createRegionFactory() to 
create the region on the server.

h4. Destroy Region
For destroying a region, we already have two APIs on the region destroyRegion() 
and localDestroyRegion().

The clients could use destroyRegion() to destroy the region on the server and 
use localDestroyRegion() to destroy the region locally.

Currently, destroyRegion() is not distributed to others if the scope of the 
region is LOCAL (which is the case of client regions).
Although the proposal here will break backwards compatibility, I feel we should 
make this change to make the API more intuitive.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to