Hi Jayesh-

Last response to your last email.  Regarding...

*> I am looking for how I can register/create new regions by deploying jar
to server without restarting it.  GFSH create region is surely a way but
anything possible using spring data geode or native cache xml using gfsh
deploy? *


Again, if you are looking to (re-)configure your Geode Servers based on
current application changes (i.e. a new version) by using *Spring*
configuration meta-data, expecting to include the *Spring* config files in
a JAR file (containing either XML or @Configuration annotated Java classes)
that you can then push to the cluster using *Gfsh's* `deploy` command
without restarting your *Spring*-configured Geode Servers, then NO, this
will not work.

*Gfsh's* `deploy` command does not support "configuration changes", whether
that includes *Spring* config, or even Geode's native config (e.g. cache.xml)
for that matter.  AFAIK, presently, *Gfsh's* `deploy` command only
recognizes *Functions*, nothing else.

Even if Geode recognized new *Spring* configuration, it would require the
*Spring* container to be "refreshed" [1] inside the *Spring*/Geode JVM
process. Note, "refreshing" the *Spring* container should not be confused
with a complete JVM restart.  Effectively, the "refresh" involves
recreating/initializing the beans managed by the *Spring* container from
(perhaps) updated/new bean definitions declared in the configuration
meta-data.

Although... you could conceive of a Geode Function where it would acquire a
handle to the *Spring* container (ApplicationContext), apply the updated
configuration updates and then call ConfigurableApplicationContext.refresh().
You could upload a JAR containing the "Update" Function along with the
*Spring* config to make this happen.  This is not supported OOTB but is
possible, I suppose; I leave that as an exercise for you to try.


*> As I explained, what's the recommendation to deploy/release new version
of spring boot jar to production? Is is like i have to always restart
server?*

Yes.

A restart is required when updating any Geode Server dependency (e.g.
Log4j), not just *Spring Boot*, *Spring Data Geode*, or *Spring* in general


So there it is,  I hope this helps!

Regards,
John


On Wed, Sep 6, 2017 at 2:16 PM, John Blum <[email protected]> wrote:

> Hi Jayesh-
>
> Continuing on with your second question...
>
> *> 2. Assuming that my first deployment of project was POC-1.0.0.jar
> release, how I should organize code for next release with only few new
> regions?*
>
> Well, depends on whether you prefer to use *Spring* config or not.
>
> If you prefer *Spring* config (XML/Java) then you will need to bounce
> your servers no matter what. Otherwise, if you prefer not to, or are unable
> to, restart your servers, then you must use *Gfsh* to configure new
> Regions.
>
> Geode's *Cluster Configuration* service handles the organization of the
> configuration (artifacts) for you.  CC will also handle applying the
> configuration to any newly added servers, *Spring*-based or otherwise,
> providing you enable the use of Cluster Configuration service for Geode
> Servers configured with Spring as I explained previously.  The whole point
> of using *Gfsh* is not to worry about the "configuration artifacts" and
> where they are maintained.
>
> So, you do not need to worry about this...
>
> *> I found that we can deploy some jars to server using gfsh deploy, but i
> am not sure about folder structure it should follow.*
>
> You should not muck working directory folder structure setup by Geode when
> the server/node starts.  You should retain this working directory as is
> from which you launched your server (*Spring Boot*, *Gfsh*, or otherwise)
> since it will contain the config files and other artifacts (e.g. deployed
> JARs, possibly *DiskStore* files depending on your configuration, etc).
> Inside your JAR file, the organization does not matter; i.e. follow normal
> Java JAR semantics.
>
> This...
>
> *> **Also if that would also be spring boot project with <gfe:region..>
> tags only without Spring Boot Main?*
>
> ... does not apply to new Regions; you must add new Regions to existing,
> running servers via *Gfsh*.
>
>
> -John
>
>
> On Wed, Sep 6, 2017 at 2:00 PM, John Blum <[email protected]> wrote:
>
>> Hi Jayesh-
>>
>> Sorry for the delayed response; I was on VAC for the past couple weeks.
>>
>> I would also suggest if you have critical questions involving both
>> *Spring* with Apache Geode or Pivotal GemFire, that *StackOverflow* [1]
>> is a much better forum than Apache's antiquated mailing lists.  I prefer to
>> only respond on SO, particularly where *Spring* is involved.  There is a
>> tag for spring-data-geode [2] but users tend to only use the
>> spring-data-gemfire tag [3] (along with geode tag [4]) for Geode related
>> questions, FYI.
>>
>>
>> Regarding your questions (in order)...
>>
>>
>> *> 1. How can I create a new region in group "GROUP1" with domain class
>> definition without restarting my servers now?*
>>
>> First, it starts by configuring your Geode servers (*Spring Boot*-based
>> or otherwise) to start in a particular group using the Geode "groups"
>> property [5]. Based on your replies, it sounds like you have done this.
>>
>> Then, as *Anil* pointed out, when creating a Region via *Gfsh*, you can
>> specify the "group(s)" of the servers in which the new Region should be
>> created...
>>
>>
>> gfsh>help create region
>> NAME
>>     create region
>> IS AVAILABLE
>>     true
>> SYNOPSIS
>>     Create a region with the given path and configuration. Specifying a
>> --key-constraint and --value-constraint makes object type information
>> available during querying and indexing.
>> PARAMETERS
>> ...
>> *    group*
>> *        Group(s) of members on which the region will be created.*
>> *        Required: false*
>>
>>
>> So, let's use an example.  As I pointed out in another thread [6]
>> recently, I have a *Spring Boot GemFire/Geode Server* example [7] that
>> configures and bootstraps a Geode Server in a *Spring Boot*, JVM-based
>> application process.
>>
>> I am modifying this example slightly so that...
>>
>> 1. I can start the Locator with *Gfsh* and have my
>> SpringBootGemFireServer application connect to the *Gfsh *launched Locator
>> instead.
>>
>> gemfireProperties.setProperty("locators", locators);
>>
>> If you run the example yourself, be mindful of the embedded services
>> (i.e. Locator, Manager, CacheServer) started/enabled by the
>> SpringBootGemFireServer class, especially when starting multiple Geode
>> processes, otherwise you will run into conflicts, such as
>> java.net.BindExceptions when ports are already in use (especially, the
>> default ports).
>>
>> 2. I configure my SpringBootGemFireServer to be in the "*Spring*" group
>> using the Geode "group" property.
>>
>> gemfireProperties.setProperty("group", "Spring");
>>
>> 3. Finally, I am going to enable the use of Geode's *Cluster
>> Configuration* service in the SpringBootGemFireServer application, which
>> SDG disables by default.
>>
>> gemfireCache.setUseClusterConfiguration(true);
>>
>>
>> I am starting a Locator via *Gfsh* in order to leverage Geode's *Cluster
>> Configuration* service independent of my servers, which is important if
>> you want the Region(s) you create, in the desired "group(s)", with
>> *Gfsh,* to be "remembered", particularly if the server is ever shutdown
>> and brought back online. Since the newly added Region will not be declared
>> in either *Spring *XML or Java configuration meta-data you must use *Cluster
>> Config*.
>>
>> Of course, you cannot use *Spring* config to declare a new Region after
>> the server is already running without bouncing the server.  *Gfsh's* `
>> deploy` command simply does not recognize *Spring* config or any other
>> non-Geode artifact.
>>
>> Despite popular belief (perhaps), *Spring Data Geode/GemFire* *will*
>> allow *Cluster Configuration* to be used with/in *Spring* (*Boot*) Geode
>> peer cache applications (or rather *Spring*-configured Geode Servers).
>> In short, the effect is that any *Spring* config applied on startup will
>> "augment" the *Cluster Configuration* (or cache.xml if present)  This is
>> because Geode/GemFire always applies *Cluster Config* and then cache.xml (in
>> that order) before any other configuration meta-data is applied to
>> configure the server (outside of Geode properties), including Geode's own
>> API too!  This is entirely due to the fact that *Cluster Config* and
>> cache.xml are applied in the constructor during cache creation (*Cluster
>> Config* applied here [8] and here [9]; cache.xml applied here [10]).
>>
>> This belief is unfortunately present despite the example [11] I created
>> sometime ago as well as the documentation I wrote here [12], which has been
>> since SDG 1.6 [13] no less!
>>
>> Alright, let's proceed, shall we...
>>
>> I start my Locator...
>>
>>
>> $ gfsh
>>     _________________________     __
>>    / _____/ ______/ ______/ /____/ /
>>   / /  __/ /___  /_____  / _____  /
>>  / /__/ / ____/  _____/ / /    / /
>> /______/_/      /______/_/    /_/    1.2.0
>>
>> Monitor and Manage Apache Geode
>>
>> gfsh>start locator --name=*Locator1* --log-level=config
>> Starting a Geode Locator in /Users/jblum/pivdev/lab/Locator1...
>> ...
>> Locator in /Users/jblum/pivdev/lab/Locator1 on 10.99.199.5[10334] as
>> Locator1 is currently online.
>> Process ID: 26488
>> Uptime: 2 seconds
>> Geode Version: 1.2.0
>> Java Version: 1.8.0_121
>> Log File: /Users/jblum/pivdev/lab/Locator1/Locator1.log
>> JVM Arguments: -Dgemfire.log-level=config 
>> -Dgemfire.enable-cluster-configuration=true
>> -Dgemfire.load-cluster-configuration-from-dir=false
>> -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true
>> -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
>> Class-Path: /Users/jblum/pivdev/apache-geode-1.2.0/lib/geode-core-1.2.0.
>> jar:/Users/jblum/pivdev/apache-geode-1.2.0/lib/geode-dependencies.jar
>>
>> Successfully connected to: JMX Manager [host=10.99.199.5, port=1099]
>>
>> Cluster configuration service is up and running.
>>
>> gfsh>list members
>>
>>   Name   | Id
>> -------- | ------------------------------------------------
>> *Locator1* | 10.99.199.5(Locator1:26488:locator)<ec><v0>:1024
>>
>>
>> Now, I start my SpringBootGemFireServer class in group "*Spring*"
>> connected to Locator1...
>>
>>
>> gfsh>list members
>>
>>          Name           | Id
>> ----------------------- | ------------------------------
>> ---------------------
>> Locator1                | 10.99.199.5(Locator1:26488:loc
>> ator)<ec><v0>:1024
>> *SpringBootGemFireServer* | 10.99.199.5(SpringBootGemFireS
>> erver:26934)<v5>:1025
>>
>>
>> gfsh>describe member --name=*SpringBootGemFireServer*
>> *Name        : SpringBootGemFireServer*
>> Id          : 10.99.199.5(SpringBootGemFireServer:26934)<v5>:1025
>> Host        : 10.99.199.5
>>
>> *Regions     : Factorials*PID         : 26934
>> *Groups      : Spring*
>> Used Heap   : 200M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Log file    : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Locators    : localhost[10334]
>>
>> Cache Server Information
>> Server Bind              : localhost
>> Server Port              : 40404
>> Running                  : true
>> Client Connections       : 0
>>
>>
>> We can ignore the "*Factorials*" PARTITION Region for this
>> demonstration.  It comes from the *Spring* Java config here [14].
>>
>> Now, let's start another Geode server using *Gfsh* this time, in a group
>> called "Geode"...
>>
>>
>> gfsh>start server --name=*Server2* --log-level=config
>> --disable-default-server --group=Geode
>> Starting a Geode Server in /Users/jblum/pivdev/lab/Server2...
>> ...
>> Server in /Users/jblum/pivdev/lab/Server2 on 10.99.199.5 as Server2 is
>> currently online.
>> Process ID: 27021
>> Uptime: 2 seconds
>> Geode Version: 1.2.0
>> Java Version: 1.8.0_121
>> Log File: /Users/jblum/pivdev/lab/Server2/Server2.log
>> JVM Arguments: -Dgemfire.default.locators=10.99.199.5[10334]
>> -Dgemfire.use-cluster-configuration=true -Dgemfire.groups=Geode
>> -Dgemfire.start-dev-rest-api=false -Dgemfire.log-level=config
>> -XX:OnOutOfMemoryError=kill -KILL %p 
>> -Dgemfire.launcher.registerSignalHandlers=true
>> -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterva
>> l=9223372036854775806
>> Class-Path: /Users/jblum/pivdev/apache-geode-1.2.0/lib/geode-core-1.2.0.
>> jar:/Users/jblum/pivdev/apache-geode-1.2.0/lib/geode-dependencies.jar
>>
>>
>> gfsh>list members
>>          Name           | Id
>> ----------------------- | ------------------------------
>> ---------------------
>> Locator1                | 10.99.199.5(Locator1:26488:loc
>> ator)<ec><v0>:1024
>> SpringBootGemFireServer | 10.99.199.5(SpringBootGemFireS
>> erver:26934)<v5>:1025
>> *Server2*                 | 10.99.199.5(Server2:27021)<v6>:1026
>>
>>
>> gfsh>describe member --name=Server2
>> *Name        : Server2*
>> Id          : 10.99.199.5(Server2:27021)<v6>:1026
>> Host        : 10.99.199.5
>> *Regions     : *
>> PID         : 27021
>> *Groups      : Geode*
>> Used Heap   : 15M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/lab/Server2
>> Log file    : /Users/jblum/pivdev/lab/Server2/Server2.log
>> Locators    : 10.99.199.5[10334]
>>
>>
>> Now we have a *Gfsh* started server ("Server2") in group "Geode" with no
>> Regions.  Onward...
>>
>> First, let's create a non-group specific Region and see what happens...
>>
>> gfsh>create region --name=*Example* --type=PARTITION
>>         Member          | Status
>> ----------------------- | ------------------------------
>> ------------------------
>> *SpringBootGemFireServer* | Region "/Example" created on
>> "SpringBootGemFireServer"
>> *Server2*                 | Region "/Example" created on "Server2"
>>
>>
>> gfsh>list regions
>> List of regions
>> ---------------
>> *Example*
>> Factorials
>>
>>
>> gfsh>describe region --name=*Example*
>> ..........................................................
>> *Name            : Example*
>> Data Policy     : partition
>> Hosting Members : *Server2*
>>                   *SpringBootGemFireServer*
>>
>> Non-Default Attributes Shared By Hosting Members
>>
>>  Type  |    Name     | Value
>> ------ | ----------- | ---------
>> Region | size        | 0
>>        | data-policy | PARTITION
>>
>>
>> gfsh>describe member --name=SpringBootGemFireServer
>> *Name        : SpringBootGemFireServer*
>> Id          : 10.99.199.5(SpringBootGemFireServer:26934)<v5>:1025
>> Host        : 10.99.199.5
>> *Regions*     : Factorials
>>               *Example*
>> PID         : 26934
>> *Groups      : Spring*
>> Used Heap   : 61M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Log file    : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Locators    : localhost[10334]
>>
>> Cache Server Information
>> Server Bind              : localhost
>> Server Port              : 40404
>> Running                  : true
>> Client Connections       : 0
>>
>> gfsh>describe member --name=Server2
>> *Name        : Server2*
>> Id          : 10.99.199.5(Server2:27021)<v6>:1026
>> Host        : 10.99.199.5
>> *Regions     : Example*
>> PID         : 27021
>> *Groups      : Geode*
>> Used Heap   : 32M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/lab/Server2
>> Log file    : /Users/jblum/pivdev/lab/Server2/Server2.log
>> Locators    : 10.99.199.5[10334]
>>
>>
>> Next, we can create some "group" specific Regions...
>>
>>
>> gfsh>create region --name=*SpringOnlyRegion* --type=PARTITION
>> *--group=Spring*
>>         Member          | Status
>> ----------------------- | ------------------------------
>> ---------------------------------
>> *SpringBootGemFireServer* | Region "/SpringOnlyRegion" created on
>> "SpringBootGemFireServer"
>>
>>
>> gfsh>list regions
>> List of regions
>> ----------------
>> Example
>> Factorials
>> *SpringOnlyRegion*
>>
>>
>> gfsh>describe region --name=*SpringOnlyRegion*
>> ..........................................................
>> *Name            : SpringOnlyRegion*
>> Data Policy     : partition
>> *Hosting Members : SpringBootGemFireServer*
>>
>> Non-Default Attributes Shared By Hosting Members
>>
>>  Type  |    Name     | Value
>> ------ | ----------- | ---------
>> Region | size        | 0
>>        | data-policy | PARTITION
>>
>>
>> gfsh>describe member --name=SpringBootGemFireServer
>> *Name        : SpringBootGemFireServer*
>> Id          : 10.99.199.5(SpringBootGemFireServer:26934)<v5>:1025
>> Host        : 10.99.199.5
>> *Regions*     : Factorials
>> *              SpringOnlyRegion*
>>               Example
>> PID         : 26934
>> *Groups      : Spring*
>> Used Heap   : 76M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Log file    : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Locators    : localhost[10334]
>>
>> Cache Server Information
>> Server Bind              : localhost
>> Server Port              : 40404
>> Running                  : true
>> Client Connections       : 0
>>
>>
>> gfsh>describe member --name=Server2
>> *Name        : Server2*
>> Id          : 10.99.199.5(Server2:27021)<v6>:1026
>> Host        : 10.99.199.5
>> *Regions*     : Example
>> PID         : 27021
>> *Groups      : Geode*
>> Used Heap   : 45M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/lab/Server2
>> Log file    : /Users/jblum/pivdev/lab/Server2/Server2.log
>> Locators    : 10.99.199.5[10334]
>>
>>
>> Now for a "Geode" group only Region...
>>
>>
>> gfsh>create region --name=*GeodeOnlyRegion* --type=REPLICATE
>> *--group=Geode*
>> Member  | Status
>> ------- | ----------------------------------------------
>> *Server2* | Region "/GeodeOnlyRegion" created on "Server2"
>>
>>
>> gfsh>list regions
>> List of regions
>> ----------------
>> Example
>> Factorials
>> *GeodeOnlyRegion*
>> SpringOnlyRegion
>>
>>
>> gfsh>describe region --name=GeodeOnlyRegion
>> ..........................................................
>> *Name            : GeodeOnlyRegion*
>> Data Policy     : replicate
>> *Hosting Members : Server2*
>>
>> Non-Default Attributes Shared By Hosting Members
>>
>>  Type  |    Name     | Value
>> ------ | ----------- | ---------------
>> Region | data-policy | REPLICATE
>>        | size        | 0
>>        | scope       | distributed-ack
>>
>>
>> gfsh>describe member --name=Server2
>> *Name        : Server2*
>> Id          : 10.99.199.5(Server2:27021)<v6>:1026
>> Host        : 10.99.199.5
>> *Regions*     : Example
>>
>> *              GeodeOnlyRegion*PID         : 27021
>> *Groups      : Geode*
>> Used Heap   : 50M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/lab/Server2
>> Log file    : /Users/jblum/pivdev/lab/Server2/Server2.log
>> Locators    : 10.99.199.5[10334]
>>
>>
>> gfsh>describe member --name=SpringBootGemFireServer
>> *Name        : SpringBootGemFireServer*
>> Id          : 10.99.199.5(SpringBootGemFireServer:26934)<v5>:1025
>> Host        : 10.99.199.5
>> *Regions*     : Factorials
>>               SpringOnlyRegion
>>               Example
>> PID         : 26934
>> *Groups      : Spring*
>> Used Heap   : 87M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Log file    : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Locators    : localhost[10334]
>>
>> Cache Server Information
>> Server Bind              : localhost
>> Server Port              : 40404
>> Running                  : true
>> Client Connections       : 0
>>
>>
>> As you can see, Regions will be created on the correct servers when the '
>> --group' option of the `create region` command is specified, or not.
>>
>> So now, even if I restart the SpringBootGemFireServer, it will retain
>> the Regions I created with *Gfsh* since I enabled the "user" of the *Cluster
>> Configuration* service, even when configuring the *Spring*-based Geode
>> server...
>>
>> I stop my SpringBootGemFireServer, and now...
>>
>>
>> gfsh>list members
>>   Name   | Id
>> -------- | ------------------------------------------------
>> Locator1 | 10.99.199.5(Locator1:26488:locator)<ec><v0>:1024
>> *Server2*  | 10.99.199.5(Server2:27021)<v6>:1026
>>
>>
>> gfsh>list regions
>> List of regions
>> ---------------
>>
>> *ExampleGeodeOnlyRegion*
>>
>>
>> No SpringBootGemFireServer present in `list members` and no "*Factorials*"
>> or "*SpringOnlyRegion*" Regions present.
>>
>> Then, I restart the SpringBootGemFireServer, and now...
>>
>>
>> gfsh>list members
>>          Name           | Id
>> ----------------------- | ------------------------------
>> ---------------------
>> Locator1                | 10.99.199.5(Locator1:26488:loc
>> ator)<ec><v0>:1024
>> *SpringBootGemFireServer* | 10.99.199.5(SpringBootGemFireS
>> erver:27305)<v8>:1025
>> Server2                 | 10.99.199.5(Server2:27021)<v6>:1026
>>
>>
>> gfsh>list regions
>> List of regions
>> ----------------
>> Example
>> Factorials
>> GeodeOnlyRegion
>> *SpringOnlyRegion*
>>
>>
>> gfsh>describe member --name=SpringBootGemFireServer
>> *Name        : SpringBootGemFireServer*
>> Id          : 10.99.199.5(SpringBootGemFireServer:27305)<v8>:1025
>> Host        : 10.99.199.5
>> *Regions*     : Factorials
>>
>>
>> *              SpringOnlyRegion              Example*PID         : 27305
>> *Groups      : Spring*
>> Used Heap   : 35M
>> Max Heap    : 3641M
>> Working Dir : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Log file    : /Users/jblum/pivdev/spring-data-examples-workspace/spring-
>> boot-gemfire-server-example/build
>> Locators    : localhost[10334]
>>
>> Cache Server Information
>> Server Bind              : localhost
>> Server Port              : 40404
>> Running                  : true
>> Client Connections       : 0
>>
>>
>> Again, or "*Factorials*" and the "*SpringOnlyRegion*" are recreated on
>> the SpringBootGemFireServer.  Keep in mind that both the "*Example*" and
>> "*SpringOnlyRegion*" Regions were created in *Gfsh*, and so do not have
>> *Spring* config meta-data.  However, the SpringBootGemFireServer still
>> contains these Regions when it starts up.  How cool is that!!
>>
>> Even the configuration of my SpringBootGemFireServer shows (when
>> log-level is set to "config")...
>>
>>
>> [info 2017/09/06 13:48:24.429 PDT <main> tid=1]
>> ***************************************************************
>> *Configuration for  'Spring'*
>>
>> Jar files to deployed
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> <cache xmlns="http://geode.apache.org/schema/cache"; xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"; copy-on-read="false"
>> is-server="false" lock-lease="120" lock-timeout="60" search-timeout="300"
>> version="1.0" xsi:schemaLocation="http://geode.apache.org/schema/cache
>> http://geode.apache.org/schema/cache/cache-1.0.xsd";>
>> <region name="*SpringOnlyRegion*">
>>     <region-attributes data-policy="partition"/>
>>   </region>
>> </cache>
>>
>> ***************************************************************
>> *Configuration for  'cluster'*
>>
>> Jar files to deployed
>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>> <cache xmlns="http://geode.apache.org/schema/cache"; xmlns:xsi="
>> http://www.w3.org/2001/XMLSchema-instance"; copy-on-read="false"
>> is-server="false" lock-lease="120" lock-timeout="60" search-timeout="300"
>> version="1.0" xsi:schemaLocation="http://geode.apache.org/schema/cache
>> http://geode.apache.org/schema/cache/cache-1.0.xsd";>
>> <region name="*Example*">
>>     <region-attributes data-policy="partition"/>
>>   </region>
>> </cache>
>>
>>
>> Phew!  Given the length of this email, I will follow up to you second
>> question in a reply.
>>
>>
>> Regards,
>> John
>>
>>
>> [1] https://stackoverflow.com/questions/tagged/spring-data-gemfire
>> [2] https://stackoverflow.com/questions/tagged/spring-data-geode
>> [3] https://stackoverflow.com/questions/tagged/spring-data-gemfire
>> [4] https://stackoverflow.com/questions/tagged/geode
>> [5] http://geode.apache.org/docs/guide/12/reference/topics/
>> gemfire_properties.html
>> [6] http://markmail.org/message/lomcwhh3vw3p24ee
>> [7] https://github.com/jxblum/spring-boot-gemfire-server-example
>> [8] https://github.com/apache/geode/blob/rel/v1.2.0/geode-co
>> re/src/main/java/org/apache/geode/internal/cache/GemFireCach
>> eImpl.java#L1148-L1154
>> [9] https://github.com/apache/geode/blob/rel/v1.2.0/geode-co
>> re/src/main/java/org/apache/geode/internal/cache/GemFireCach
>> eImpl.java#L1193-L1194
>> [10] https://github.com/apache/geode/blob/rel/v1.2.0/geode-
>> core/src/main/java/org/apache/geode/internal/cache/GemFireCa
>> cheImpl.java#L1195
>> [11] https://github.com/jxblum/spring-gemfire-clusterconfigu
>> ration-examples
>> [12] https://docs.spring.io/spring-data/geode/docs/2.0.0.RC2
>> /reference/html/#bootstrap:cache:cluster-configuration
>> [13] https://jira.spring.io/browse/SGF-226
>> [14] https://github.com/jxblum/spring-boot-gemfire-server-
>> example/blob/apache-geode/src/main/java/org/example/SpringBo
>> otGemFireServer.java#L116-L129
>>
>>
>> On Wed, Sep 6, 2017 at 10:36 AM, Jayesh Thacker <[email protected]>
>> wrote:
>>
>>> Thank you for the reply Anil!
>>>
>>> I already have logical member groups. But I am looking for how I can
>>> register/create new regions by deploying jar to server without restarting
>>> it.
>>>
>>>
>>> GFSH create region is surely a way but anything possible using spring
>>> data geode or native cache xml using gfsh deploy?
>>>
>>> As I explained, what's the recommendation to deploy/release new version
>>> of spring boot jar to production? Is is like i have to always restart
>>> server?
>>>
>>> I don't use any of spring data repository related features but only
>>> Spring boot main along with spring beans to register regions/groups based
>>> on spring profile + cache servers and actuators.
>>>
>>>
>>> - Jayesh
>>>
>>> On Wed, Sep 6, 2017 at 1:59 AM, Anilkumar Gingade <[email protected]>
>>> wrote:
>>>
>>>> Jayesh,
>>>>
>>>> In Geode cluster, you can organize the members/nodes as different
>>>> group...And configure/create your regions to be part of specific
>>>> group...Gfsh allows you to do that without re-starting the cluster (gfsh
>>>> create region has group option).
>>>>
>>>> Also, you can push your class/jar to the running cluster, using deploy
>>>> jar command.
>>>> >>  POC-1.0.0.jar release
>>>> I am assuming you have all the application class files as part of this
>>>> jar...There is no specific recommendation on how to manage the application
>>>> jars; its up to the app developers to manage their classes...
>>>>
>>>> I am not that familiar about spring boot; i will let the experts to
>>>> chime on this.
>>>>
>>>> -Anil.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Sep 5, 2017 at 10:14 AM, Jayesh Thacker <[email protected]>
>>>> wrote:
>>>>
>>>>> Hello folks,
>>>>>
>>>>> Could some one guide me for this?
>>>>>
>>>>> Thanks,
>>>>> Jayesh
>>>>>
>>>>> On Wednesday, August 30, 2017, Jayesh Thacker <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi John,
>>>>>>
>>>>>> I am bit new to apache geode community. I have few questions related
>>>>>> to bootstrapping cache server using spring data geode. I could start
>>>>>> something running though.
>>>>>>
>>>>>> Thanks for the geode examples!
>>>>>>
>>>>>> Currently I have a requirement for 3 DISTRIBUTED regions with pdx
>>>>>> serialization organized under 1 logical group called say "group1".
>>>>>>
>>>>>> I have 2 servers running in my machine with same code base connected
>>>>>> to standalone locator started via gfsh.
>>>>>>
>>>>>> 1. How can I create a new region in group "GROUP1" with domain class
>>>>>> definition without restarting my servers now?
>>>>>>
>>>>>> 2. Assuming that my first deployment of project was POC-1.0.0.jar
>>>>>> release, how I should organize code for next release with only few new
>>>>>> regions?
>>>>>>
>>>>>> I found that we can deploy some jars to server using gfsh deploy, but
>>>>>> i am not sure about folder structure it should follow.
>>>>>>
>>>>>> Also if that would also be spring boot project with <gfe:region..>
>>>>>> tags only without Spring Boot Main?
>>>>>>
>>>>>> Thanks,
>>>>>> Jayesh
>>>>>>
>>>>>
>>>>
>>>
>>
>>
>> --
>> -John
>> john.blum10101 (skype)
>>
>
>
>
> --
> -John
> john.blum10101 (skype)
>



-- 
-John
john.blum10101 (skype)

Reply via email to