]
Galder Zamarreño updated ISPN-7326:
-----------------------------------
Component/s: Server
Enable domain sites to be created from a single profile
-------------------------------------------------------
Key: ISPN-7326
URL:
https://issues.jboss.org/browse/ISPN-7326
Project: Infinispan
Issue Type: Enhancement
Components: Server
Reporter: Galder Zamarreño
In domain mode, it should be possible to start two nodes, each belonging to a different
site and get them to join the inter-site cluster providing a single profile.
To be able to do that, the following needs to happen:
* A cache's backup site name needs to be able to be defined via a system property,
e.g.
{code}
<backups>
<backup site="${test.site.local.name:NA}"
strategy="SYNC"/>
</backups>
{code}
* A jgroup stack's relay remote site name needs to be able to be defined via a system
property, e.g.
{code}
<relay site="${test.site.local.name:NA}">
<remote-site name="${test.site.remote.name:NA}"
channel="xsite"/>
</relay>
{code}
With these changes, it should be possible to define a single profile, and then override
site local and remote names via system properties, e.g.
{code}
<server-group name="site-earth" profile="clustered">
<jvm name="default">
<heap size="64m" max-size="512m"/>
<jvm-options>
<option value="-Djgroups.join_timeout=1000"/>
<option
value="-Djboss.default.multicast.address=234.99.74.14"/>
<option value="-Dtest.site.local.name=EARTH"/>
<option value="-Dtest.site.remote.name=MOON"/>
</jvm-options>
</jvm>
<socket-binding-group ref="xsite-sockets"/>
</server-group>
<server-group name="site-moon" profile="clustered">
<jvm name="default">
<heap size="64m" max-size="512m"/>
<jvm-options>
<option value="-Djgroups.join_timeout=1000"/>
<option
value="-Djboss.default.multicast.address=234.99.74.24"/>
<option value="-Dtest.site.local.name=MOON"/>
<option value="-Dtest.site.remote.name=EARTH"/>
</jvm-options>
</jvm>
<socket-binding-group ref="xsite-sockets"/>
</server-group>
{code}
Right now no system property substitution happens for the elements above and hence
it's not possible to achieve this with a single profile. Instead, profiles need to be
duplicated making it hard to maintain.