I have a client/server topology scenario.
Running a simple cluster of one Locator and two servers locally, different JVM processes, the servers have no Regions created on startup with the following configuration:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<util:properties id="gemfireProperties">
<prop key="name">${gemfire.server.name}</prop>
<prop key="mcast-port">${gemfire.server.mcast-port}</prop>
<prop key="log-level">${gemfire.server.log-level}</prop>
<prop key="locators">${gemfire.server.locators}</prop>
</util:properties>
<gfe:cache properties-ref="gemfireProperties" use-cluster-configuration="true"/>
<gfe:cache-server auto-startup="true" bind-address="${gemfire.server.bind-address}"
host-name-for-clients="${gemfire.server.hostname-for-clients}"
port="${gemfire.server.port}"
max-connections="${gemfire.server.max-connections}"/>
Then, I am running a client with the following configuration:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gfe="http://www.springframework.org/schema/gemfire"
xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<beans>
<gfe:client-cache id="gemfireClientCache" pool-name="gemfireConnectionPool" ready-for-events="true"/>
<gfe:pool id="gemfireConnectionPool" subscription-enabled="true">
<gfe:locator host="localhost" port="10334"/>
</gfe:pool>
<gfe:client-region id="MYREGION"
shortcut="PROXY"
key-constraint="java.lang.String"
value-constraint="MYPOJO"
cache-ref="gemfireClientCache"
pool-name="gemfireConnectionPool"/>
</beans>
The Spring Boot app starts up without any issue, but I find the following log weird:
[info 2017/01/05 20:37:56.103 WET <main> tid=0x1] Running in local mode since mcast-port was 0 and locators was empty.
Although I can see all cluster members in Pulse, the servers don't have "MYREGION" Region. So, I'm wondering, can cache clients actually create Regions on servers or can they only "use" existing Regions?
The Pivotal documentation does have a section for "Dynamically create regions" but I'm not going that way yet because I lose partitioning.
Thanks