Hi all,

right on the heels of my previous e-mail related to declarative configuration of XSite in Infinispan, I also would like to tackle the issue of how we are going to translate it to the configuration dialect in AS7/EAP/JDG.

Here's my rough concept:

add the local site name to the <cache-container /> element

<cache-container name="maximal" aliases="alias1 alias2" default-cache="local" eviction-executor="infinispan-eviction" jndi-name="java:global/infinispan/maximal" listener-executor="infinispan-listener" replication-queue-executor="infinispan-repl-queue" module="org.infinispan"
      local-site="LON">


add the backups element as a child of the cache:

<local-cache name="local">
    <backups>
          <backup site="NYC" failure-policy="WARN" strategy="SYNC" timeout="12000" enabled="true"/>
          <backup site="SFO" failure-policy="IGNORE" strategy="ASYNC" enabled="true"/>
          <backup site="LON" strategy="SYNC" enabled="false"/>
     </backups>
     <backup-for remote-cache="remoteCache" remote-site="NYC" />
</local-cache>


Since the JGroups config already allows multiple stacks, I suggest adding the relay element as a child of the <stack /> element allowing it to reference other stacks:

<stack name="bridge">
      <transport type="TCP" socket-binding="jgroups-bridge-tcp" />
</stack>
   
<stack name="xsite">
    <transport type="TCP" socket-binding="jgroups-tcp" />
    <protocol ... />
    <relay type="relay.RELAY2">
          <site name="LON" id="0">
            <bridges>
                <bridge name="global"
stack="bridge" />
            </bridges>
          </site>
          <site name="NYC" id="1">
              <bridges>
                  <bridge name="global"
stack="bridge" />
              </bridges>
          </site>
          <site name="SFO" id="2">
              <bridges>
                  <bridge name="global" stack="bridge"/>
              </bridges>
          </site>
      </relay>
</stack>


Comments ?

Tristan