<?xml version="1.0" ?>

<!--
  ~ Copyright The WildFly Authors
  ~ SPDX-License-Identifier: Apache-2.0
  -->

<tasks xmlns="urn:wildfly:wildfly-feature-pack-tasks:2.0">
    <example-configs>
        <config model="standalone" name="standalone-core.xml" >
            <layers>
                <include name="ee-core-profile-server"/>
            </layers>
        </config>
        <config model="standalone" name="standalone-genericjms.xml">
            <layers>
                <include name="internal-standalone-profile"/>
                <exclude name="messaging-activemq"/>
                
                <include name="iiop-openjdk"/>
            </layers>
    
            <feature-group name="adjust-standalone-config"/>
            <feature-group name="ejb3-mdb"/>
            <feature spec="subsystem.resource-adapters">
                <feature spec="subsystem.resource-adapters.resource-adapter">
                    <param name="resource-adapter" value="generic-jms-ra.rar"/>
                    <param name="module" value="org.jboss.genericjms"/>
                    <param name="transaction-support" value="NoTransaction"/>
                    <feature spec="subsystem.resource-adapters.resource-adapter.connection-definitions">
                        <param name="class-name" value="org.jboss.resource.adapter.jms.JmsManagedConnectionFactory"/>
                        <param name="jndi-name" value="${genericjms.cf.jndi-name}"/>
                        <param name="connection-definitions" value="${genericjms.cf.pool-name}"/>
                        <param name="security-application" value="true"/>
                        <feature spec="subsystem.resource-adapters.resource-adapter.connection-definitions.config-properties">
                            <param name="config-properties" value="JndiParameters"/>
                            <param name="value" value="&quot;java.naming.factory.initial=${genericjms.cf.jndi.contextfactory};java.naming.provider.url=${genericjms.cf.jndi.url}&quot;"/>
                        </feature>
                        <feature spec="subsystem.resource-adapters.resource-adapter.connection-definitions.config-properties">
                            <param name="config-properties" value="ConnectionFactory"/>
                            <param name="value" value="${genericjms.cf.jndi.lookup}"/>
                        </feature>
                    </feature>
                </feature>
            </feature>
            <feature spec="subsystem.ejb3">
                <feature spec="subsystem.ejb3.service.iiop">
                    <param name="use-qualified-name" value="false"/>
                    <param name="enable-by-default" value="false"/>
                </feature>
            </feature>
        </config>
        <config model="standalone" name="standalone-jts.xml">
            <layers>
                <include name="internal-standalone-profile"/>
                <exclude name="messaging-activemq"/>
                <include name="iiop-openjdk"/>
            </layers>
    
            <feature-group name="adjust-standalone-config"/>
            <feature spec="subsystem.transactions">
                <param name="jts" value="true"/>
            </feature>
        </config>
        <config model="standalone" name="standalone-minimalistic.xml">
            <layers>
                <include name="management"/>
                <include name="elytron"/>
            </layers>
            <feature spec="core-service.management.management-interface.http-interface">
                <param name="console-enabled" value="false"/>
            </feature>
        </config>
        <config model="standalone" name="standalone-rts.xml">
            <layers>
                <include name="internal-standalone-full-profile"/>
            </layers>

            <feature-group name="adjust-standalone-full-config"/>
            <feature spec="subsystem.rts">
                <param name="host-feature" value="default-host"/>
                <param name="socket-binding" value="http"/>
                <param name="server" value="default-server"/>
            </feature>
        </config>
        <config model="standalone" name="standalone-xts.xml">
            <layers>
                <include name="internal-standalone-full-profile"/>
                <exclude name="batch-jberet"/>
            </layers>

            <feature-group name="adjust-standalone-full-config"/>
            <feature spec="subsystem.xts">
                <param name="host-feature" value="default-host"/>
                <param name="url" value="http://${jboss.bind.address:127.0.0.1}:8080/ws-c11/ActivationService"/>
                <param name="default-context-propagation" value="true"/>
            </feature>
        </config>
        <config model="standalone" name="standalone-azure-ha.xml">
            <layers>
                <!-- we can't add any layer that brings in jgroups. jgroups is customized in the config -->
                <include name="internal-standalone-profile"/>
                <!-- is it really expected? -->
                <exclude name="elytron-oidc-client"/>
                <exclude name="jpa"/>
                <!--<include name="jpa-distributed"/>-->
                <exclude name="ejb-local-cache"/>
                <exclude name="web-passivation"/>
                <!--<include name="ejb-dist-cache"/>-->
                <!--<include name="web-clustering"/>-->
                <include name="mod_cluster"/>
                <!--<include name="singleton-ha"/>-->
                <exclude name="messaging-activemq"/>
            </layers>
            <feature-group name="adjust-standalone-ha-config"/>
            <!-- singleton-ha -->
            <feature-group name="infinispan-dist-server"/>
            <feature-group name="singleton"/>
            <!-- ejb-dist-cache -->
            <feature-group name="distributable-ejb"/>
            <feature-group name="infinispan-dist-ejb"/>
            <feature-group name="ejb3-sfsb"/>
            <!-- jpa-distributed -->
            <feature-group name="jpa"/>
            <feature-group name="infinispan-dist-hibernate"/>
            <!-- web-clustering -->
            <feature-group name="distributable-web"/>
            <feature-group name="infinispan-dist-web"/>

            <feature spec="subsystem.modcluster">
                <feature spec="subsystem.modcluster.proxy">
                    <param name="proxy" value="default"/>
                    <unset param="advertise-socket"/>
                    <param name="advertise" value="false"/>
                    <param name="proxies" value=""/>
                </feature>
            </feature>
            <feature-group name="private-interface"/>
            <feature-group name="jgroups-all">
                <exclude feature-id="subsystem.jgroups.stack:stack=tcp"/>
                <exclude feature-id="subsystem.jgroups.stack:stack=udp"/>
                <feature spec="subsystem.jgroups">
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="tcp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="TCP"/>
                            <param name="socket-binding" value="jgroups-tcp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="azure.AZURE_PING"/>
                            <param name="properties" value="{storage_account_name=&quot;${jboss.jgroups.azure_ping.storage_account_name}&quot;,storage_access_key=&quot;${jboss.jgroups.azure_ping.storage_access_key}&quot;,container=&quot;${jboss.jgroups.azure_ping.container}&quot;}"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-tcp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="udp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="UDP"/>
                            <param name="socket-binding" value="jgroups-udp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="azure.AZURE_PING"/>
                            <param name="properties" value="{storage_account_name=&quot;${jboss.jgroups.azure_ping.storage_account_name}&quot;,storage_access_key=&quot;${jboss.jgroups.azure_ping.storage_access_key}&quot;,container=&quot;${jboss.jgroups.azure_ping.container}&quot;}"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-udp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                </feature>
            </feature-group>

        </config>
        <config model="standalone" name="standalone-azure-full-ha.xml">
            <!-- we can't add any layer that brings in jgroups. jgroups is customized in the config -->
            <layers>
                <include name="internal-standalone-full-profile"/>
                <exclude name="jpa"/>      
                <!--<include name="jpa-distributed"/>-->
                <exclude name="ejb-local-cache"/>
                <!--<include name="ejb-dist-cache"/>-->
                <exclude name="web-passivation"/>
                <!--<include name="web-clustering"/>-->
                <include name="mod_cluster"/>
                <!--<include name="singleton-ha"/>-->
            </layers>

            <feature-group name="adjust-standalone-full-ha-config"/>
            
            <!-- singleton-ha -->
            <feature-group name="infinispan-dist-server"/>
            <feature-group name="singleton"/>
            <!-- ejb-dist-cache -->
            <feature-group name="distributable-ejb"/>
            <feature-group name="infinispan-dist-ejb"/>
            <feature-group name="ejb3-sfsb"/>
            <!-- jpa-distributed -->
            <feature-group name="jpa"/>
            <feature-group name="infinispan-dist-hibernate"/>
            <!-- web-clustering -->
            <feature-group name="distributable-web"/>
            <feature-group name="infinispan-dist-web"/>
            
            <feature spec="subsystem.modcluster">
                <feature spec="subsystem.modcluster.proxy">
                    <param name="proxy" value="default"/>
                    <unset param="advertise-socket"/>
                    <param name="advertise" value="false"/>
                    <param name="proxies" value=""/>
                </feature>
            </feature>
            <feature-group name="private-interface"/>
            <feature-group name="jgroups-all">

                <exclude feature-id="subsystem.jgroups.stack:stack=tcp"/>
                <exclude feature-id="subsystem.jgroups.stack:stack=udp"/>
                <feature spec="subsystem.jgroups">
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="tcp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="TCP"/>
                            <param name="socket-binding" value="jgroups-tcp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="azure.AZURE_PING"/>
                            <param name="properties" value="{storage_account_name=&quot;${jboss.jgroups.azure_ping.storage_account_name}&quot;,storage_access_key=&quot;${jboss.jgroups.azure_ping.storage_access_key}&quot;,container=&quot;${jboss.jgroups.azure_ping.container}&quot;}"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-tcp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="udp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="UDP"/>
                            <param name="socket-binding" value="jgroups-udp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="azure.AZURE_PING"/>
                            <param name="properties" value="{storage_account_name=&quot;${jboss.jgroups.azure_ping.storage_account_name}&quot;,storage_access_key=&quot;${jboss.jgroups.azure_ping.storage_access_key}&quot;,container=&quot;${jboss.jgroups.azure_ping.container}&quot;}"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-udp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                </feature>
            </feature-group>
        </config>
        <config model="standalone" name="standalone-ec2-ha.xml">
            <layers>
                <!-- we can't add any layer that brings in jgroups. jgroups is customized in the config -->
                <include name="internal-standalone-profile"/>
                <!-- is it really expected? -->
                <exclude name="elytron-oidc-client"/>
                <exclude name="jpa"/>      
                <!--<include name="jpa-distributed"/>-->
                <exclude name="ejb-local-cache"/>
                <!--<include name="ejb-dist-cache"/>-->
                <exclude name="web-passivation"/>
                <!--<include name="web-clustering"/>-->
                <include name="mod_cluster"/>
                <!--<include name="singleton-ha"/>-->
                <exclude name="messaging-activemq"/>
                <include name="jgroups-aws"/>
            </layers>
            <feature-group name="adjust-standalone-ha-config"/>
            <!-- singleton-ha -->
            <feature-group name="infinispan-dist-server"/>
            <feature-group name="singleton"/>
            <!-- ejb-dist-cache -->
            <feature-group name="distributable-ejb"/>
            <feature-group name="infinispan-dist-ejb"/>
            <feature-group name="ejb3-sfsb"/>
            <!-- jpa-distributed -->
            <feature-group name="jpa"/>
            <feature-group name="infinispan-dist-hibernate"/>
            <!-- web-clustering -->
            <feature-group name="distributable-web"/>
            <feature-group name="infinispan-dist-web"/>
            
            <feature spec="subsystem.modcluster">
                <feature spec="subsystem.modcluster.proxy">
                    <param name="proxy" value="default"/>
                    <unset param="advertise-socket"/>
                    <param name="advertise" value="false"/>
                    <param name="proxies" value=""/>
                </feature>
            </feature>
            <feature-group name="private-interface"/>
            <feature-group name="jgroups-all">
                <exclude feature-id="subsystem.jgroups.stack:stack=tcp"/>
                <exclude feature-id="subsystem.jgroups.stack:stack=udp"/>
                <feature spec="subsystem.jgroups">
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="tcp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="TCP"/>
                            <param name="socket-binding" value="jgroups-tcp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="org.jgroups.protocols.aws.S3_PING"/>
                            <param name="module" value="org.jgroups.aws"/>
                            <param name="properties" value="{region_name=&quot;${jboss.jgroups.aws.s3_ping.region_name}&quot;,bucket_name=&quot;${jboss.jgroups.aws.s3_ping.bucket_name}&quot;}"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-tcp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="udp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="UDP"/>
                            <param name="socket-binding" value="jgroups-udp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="org.jgroups.protocols.aws.S3_PING"/>
                            <param name="module" value="org.jgroups.aws"/>
                            <param name="properties" value="{region_name=&quot;${jboss.jgroups.aws.s3_ping.region_name}&quot;,bucket_name=&quot;${jboss.jgroups.aws.s3_ping.bucket_name}&quot;}"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-udp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                </feature>
            </feature-group>
        </config>
        <config model="standalone" name="standalone-ec2-full-ha.xml">
            <!-- we can't add any layer that brings in jgroups. jgroups is customized in the config -->
            <layers>
                <include name="internal-standalone-full-profile"/>
                <exclude name="jpa"/>      
                <!--<include name="jpa-distributed"/>-->
                <exclude name="ejb-local-cache"/>
                <!--<include name="ejb-dist-cache"/>-->
                <exclude name="web-passivation"/>
                <!--<include name="web-clustering"/>-->
                <include name="mod_cluster"/>
                <!--<include name="singleton-ha"/>-->
                <include name="jgroups-aws"/>
            </layers>

            <feature-group name="adjust-standalone-full-ha-config"/>
            
            <!-- singleton-ha -->
            <feature-group name="infinispan-dist-server"/>
            <feature-group name="singleton"/>
            <!-- ejb-dist-cache -->
            <feature-group name="distributable-ejb"/>
            <feature-group name="infinispan-dist-ejb"/>
            <feature-group name="ejb3-sfsb"/>
            <!-- jpa-distributed -->
            <feature-group name="jpa"/>
            <feature-group name="infinispan-dist-hibernate"/>
            <!-- web-clustering -->
            <feature-group name="distributable-web"/>
            <feature-group name="infinispan-dist-web"/>
            
            <feature spec="subsystem.modcluster">
                <feature spec="subsystem.modcluster.proxy">
                    <param name="proxy" value="default"/>
                    <unset param="advertise-socket"/>
                    <param name="advertise" value="false"/>
                    <param name="proxies" value=""/>
                </feature>
            </feature>
            <feature-group name="private-interface"/>
            <feature-group name="jgroups-all">
                <exclude feature-id="subsystem.jgroups.stack:stack=tcp"/>
                <exclude feature-id="subsystem.jgroups.stack:stack=udp"/>
                <feature spec="subsystem.jgroups">
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="tcp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="TCP"/>
                            <param name="socket-binding" value="jgroups-tcp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="org.jgroups.protocols.aws.S3_PING"/>
                            <param name="module" value="org.jgroups.aws"/>
                            <param name="properties" value="{region_name=&quot;${jboss.jgroups.aws.s3_ping.region_name}&quot;,bucket_name=&quot;${jboss.jgroups.aws.s3_ping.bucket_name}&quot;}"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-tcp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="udp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="UDP"/>
                            <param name="socket-binding" value="jgroups-udp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="org.jgroups.protocols.aws.S3_PING"/>
                            <param name="module" value="org.jgroups.aws"/>
                            <param name="properties" value="{region_name=&quot;${jboss.jgroups.aws.s3_ping.region_name}&quot;,bucket_name=&quot;${jboss.jgroups.aws.s3_ping.bucket_name}&quot;}"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-udp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                </feature>
            </feature-group>
        </config>
        <config model="standalone" name="standalone-gossip-ha.xml">
            <layers>
                <!-- we can't add any layer that brings in jgroups. jgroups is customized in the config -->
                <include name="internal-standalone-profile"/>
                <exclude name="jpa"/>      
                <!--<include name="jpa-distributed"/>-->
                <exclude name="ejb-local-cache"/>
                <!--<include name="ejb-dist-cache"/>-->
                <exclude name="web-passivation"/>
                <!--<include name="web-clustering"/>-->
                <include name="mod_cluster"/>
                <!--<include name="singleton-ha"/>-->
                <exclude name="messaging-activemq"/>
            </layers>
            <feature-group name="adjust-standalone-ha-config"/>
            <!-- singleton-ha -->
            <feature-group name="infinispan-dist-server"/>
            <feature-group name="singleton"/>
            <!-- ejb-dist-cache -->
            <feature-group name="distributable-ejb"/>
            <feature-group name="infinispan-dist-ejb"/>
            <feature-group name="ejb3-sfsb"/>
            <!-- jpa-distributed -->
            <feature-group name="jpa"/>
            <feature-group name="infinispan-dist-hibernate"/>
            <!-- web-clustering -->
            <feature-group name="distributable-web"/>
            <feature-group name="infinispan-dist-web"/>
            
            <feature spec="subsystem.modcluster">
                <feature spec="subsystem.modcluster.proxy">
                    <param name="proxy" value="default"/>
                    <unset param="advertise-socket"/>
                    <param name="advertise" value="false"/>
                    <param name="proxies" value=""/>
                </feature>
            </feature>
            <feature-group name="private-interface"/>
            <feature-group name="jgroups-all">
                <exclude feature-id="subsystem.jgroups.stack:stack=tcp"/>
                <exclude feature-id="subsystem.jgroups.stack:stack=udp"/>
                <feature spec="subsystem.jgroups">
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="tcp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="TCP"/>
                            <param name="socket-binding" value="jgroups-tcp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="org.jgroups.protocols.TCPGOSSIP"/>
                            <param name="properties" value="initial_hosts=&quot;${jboss.jgroups.gossip.initial_hosts}&quot;,num_initial_members=&quot;${jboss.jgroups.gossip.num_initial_members}&quot;"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-tcp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="udp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="UDP"/>
                            <param name="socket-binding" value="jgroups-udp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="org.jgroups.protocols.TCPGOSSIP"/>
                            <param name="properties" value="initial_hosts=&quot;${jboss.jgroups.gossip.initial_hosts}&quot;,num_initial_members=&quot;${jboss.jgroups.gossip.num_initial_members}&quot;"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-udp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                </feature>
            </feature-group>
        </config>
        <config model="standalone" name="standalone-gossip-full-ha.xml">
            <!-- we can't add any layer that brings in jgroups. jgroups is customized in the config -->
            <layers>
                <include name="internal-standalone-full-profile"/>
                <exclude name="jpa"/>      
                <!--<include name="jpa-distributed"/>-->
                <exclude name="ejb-local-cache"/>
                <!--<include name="ejb-dist-cache"/>-->
                <exclude name="web-passivation"/>
                <!--<include name="web-clustering"/>-->
                <include name="mod_cluster"/>
                <!--<include name="singleton-ha"/>-->
            </layers>

            <feature-group name="adjust-standalone-full-ha-config"/>
            
            <!-- singleton-ha -->
            <feature-group name="infinispan-dist-server"/>
            <feature-group name="singleton"/>
            <!-- ejb-dist-cache -->
            <feature-group name="distributable-ejb"/>
            <feature-group name="infinispan-dist-ejb"/>
            <feature-group name="ejb3-sfsb"/>
            <!-- jpa-distributed -->
            <feature-group name="jpa"/>
            <feature-group name="infinispan-dist-hibernate"/>
            <!-- web-clustering -->
            <feature-group name="distributable-web"/>
            <feature-group name="infinispan-dist-web"/>
            
            <feature spec="subsystem.modcluster">
                <feature spec="subsystem.modcluster.proxy">
                    <param name="proxy" value="default"/>
                    <unset param="advertise-socket"/>
                    <param name="advertise" value="false"/>
                    <param name="proxies" value=""/>
                </feature>
            </feature>
            <feature-group name="private-interface"/>
            <feature-group name="jgroups-all">
                <exclude feature-id="subsystem.jgroups.stack:stack=tcp"/>
                <exclude feature-id="subsystem.jgroups.stack:stack=udp"/>
                <feature spec="subsystem.jgroups">
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="tcp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="TCP"/>
                            <param name="socket-binding" value="jgroups-tcp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="org.jgroups.protocols.TCPGOSSIP"/>
                            <param name="properties" value="initial_hosts=&quot;${jboss.jgroups.gossip.initial_hosts}&quot;,num_initial_members=&quot;${jboss.jgroups.gossip.num_initial_members}&quot;"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-tcp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                    <feature spec="subsystem.jgroups.stack">
                        <param name="stack" value="udp"/>
                        <feature spec="subsystem.jgroups.stack.transport">
                            <param name="transport" value="UDP"/>
                            <param name="socket-binding" value="jgroups-udp"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="RED"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="org.jgroups.protocols.TCPGOSSIP"/>
                            <param name="properties" value="initial_hosts=&quot;${jboss.jgroups.gossip.initial_hosts}&quot;,num_initial_members=&quot;${jboss.jgroups.gossip.num_initial_members}&quot;"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MERGE3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol.FD_SOCK2">
                            <param name="socket-binding" value="jgroups-udp-fd"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FD_ALL3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="VERIFY_SUSPECT2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.NAKACK2"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UNICAST3"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.STABLE"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="pbcast.GMS"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="UFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="MFC"/>
                        </feature>
                        <feature spec="subsystem.jgroups.stack.protocol">
                            <param name="protocol" value="FRAG4"/>
                        </feature>
                    </feature>
                </feature>
            </feature-group>
        </config>
        <config model="standalone" name="standalone-activemq-colocated.xml">
            <layers>
                <include name="internal-standalone-full-profile"/>
            </layers>

            <feature-group name="adjust-standalone-full-config"/>
            <exclude feature-id="subsystem.messaging-activemq.server.http-acceptor:server=default,subsystem=messaging-activemq,http-acceptor=http-acceptor-throughput"/>
            <exclude feature-id="subsystem.messaging-activemq.server.http-connector:http-connector=http-connector-throughput,server=default,subsystem=messaging-activemq"/>
            <feature spec="subsystem.messaging-activemq">
                <feature spec="subsystem.messaging-activemq.server">
                    <param name="server" value="default"/>
                    <!--<unset param="security-domain"/>
                    <param name="elytron-domain" value="ApplicationDomain"/>
                    -->
                    <param name="persistence-enabled" value="true"/>
                    <param name="cluster-password" value="${jboss.messaging.cluster.password:CHANGE ME!!}"/>
                    <param name="journal-file-size" value="102400"/>
                    <param name="journal-min-files" value="2"/>
                    <param name="journal-type" value="ASYNCIO"/>
                    <feature spec="subsystem.messaging-activemq.server.ha-policy.shared-store-primary"/>

                    <feature spec="subsystem.messaging-activemq.server.in-vm-connector">
                        <param name="in-vm-connector" value="in-vm"/>
                        <unset param="params"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.in-vm-acceptor">
                        <param name="in-vm-acceptor" value="in-vm"/>
                        <unset param="params"/>
                    </feature>

                    <feature spec="subsystem.messaging-activemq.server.jgroups-broadcast-group">
                        <param name="jgroups-broadcast-group" value="bg-group1"/>
                        <param name="jgroups-cluster" value="activemq-cluster"/>
                        <param name="connectors" value="[http-connector]"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.jgroups-discovery-group">
                        <param name="jgroups-discovery-group" value="dg-group1"/>
                        <param name="jgroups-cluster" value="activemq-cluster"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.cluster-connection">
                        <param name="cluster-connection" value="my-cluster"/>
                        <param name="cluster-connection-address" value="jms"/>
                        <param name="connector-name" value="http-connector"/>
                        <param name="discovery-group" value="dg-group1"/>
                    </feature>

                    <feature spec="subsystem.messaging-activemq.server.jms-queue">
                        <param name="jms-queue" value="testQueue"/>
                        <param name="entries" value="[queue/test,java:jboss/exported/jms/queue/test]"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.jms-topic">
                        <param name="jms-topic" value="testTopic"/>
                        <param name="entries" value="[topic/test,java:jboss/exported/jms/topic/test]"/>
                    </feature>
                </feature>
                <!-- Backup server -->
                <feature spec="subsystem.messaging-activemq.server">
                    <param name="server" value="backuper-server"/>
                    <param name="elytron-domain" value="ApplicationDomain"/>
                    <param name="persistence-enabled" value="true"/>
                    <param name="cluster-password" value="${jboss.messaging.cluster.password:CHANGE ME!!}"/>
                    <param name="journal-file-size" value="102400"/>
                    <param name="journal-min-files" value="2"/>
                    <param name="journal-type" value="ASYNCIO"/>
                    <feature spec="subsystem.messaging-activemq.server.ha-policy.shared-store-secondary"/>
                    <feature spec="subsystem.messaging-activemq.server.path.bindings-directory">
                        <param name="path-feature" value="activemq-backup/bindings"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.path.journal-directory">
                        <param name="path-feature" value="activemq-backup/journal"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.path.large-messages-directory">
                        <param name="path-feature" value="activemq-backup/largemessages"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.path.paging-directory">
                        <param name="path-feature" value="activemq-backup/paging"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.http-connector">
                        <param name="http-connector" value="http-connector-backup"/>
                        <param name="socket-binding" value="http"/>
                        <param name="endpoint" value="http-acceptor-backup"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.http-acceptor">
                        <param name="http-acceptor" value="http-acceptor-backup"/>
                        <param name="http-listener" value="default"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.jgroups-broadcast-group">
                        <param name="jgroups-broadcast-group" value="bg-group1"/>
                        <param name="jgroups-cluster" value="activemq-cluster"/>
                        <param name="connectors" value="[http-connector-backup]"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.jgroups-discovery-group">
                        <param name="jgroups-discovery-group" value="dg-group2"/>
                        <param name="jgroups-cluster" value="activemq-cluster"/>
                    </feature>
                    <feature spec="subsystem.messaging-activemq.server.cluster-connection">
                        <param name="cluster-connection" value="my-cluster"/>
                        <param name="cluster-connection-address" value="jms"/>
                        <param name="connector-name" value="http-connector-backup"/>
                        <param name="discovery-group" value="dg-group2"/>
                    </feature>
                </feature>
            </feature>
            <feature-group name="private-interface"/>
            <feature-group name="jgroups-all"/>
        </config>
        <config model="domain" name="domain-ec2.xml">
            <feature-group name="domain">
                <exclude spec="domain.server-group"/>
            </feature-group>
            <feature-group name="domain-ec2-ha">
                <exclude spec="domain.server-group"/>
            </feature-group>
            <feature-group name="domain-full">
                <exclude spec="domain.server-group"/>
            </feature-group>
            <feature-group name="domain-ec2-full-ha">
                <exclude spec="domain.server-group"/>
            </feature-group>
            <feature-group name="domain-load-balancer">
                <exclude spec="domain.server-group"/>
            </feature-group>
            <feature spec="domain.server-group">
                <param name="server-group" value="main-server-group"/>
                <param name="profile" value="full" />
                <param name="socket-binding-group" value="full-sockets" />
                <feature spec="domain.server-group.jvm">
                    <param name="jvm" value="default"/>
                    <param name="heap-size" value="64m"/>
                    <param name="max-heap-size" value="512m"/>
                </feature>
            </feature>
            <feature spec="domain.server-group">
                <param name="server-group" value="other-server-group"/>
                <param name="profile" value="full-ha" />
                <param name="socket-binding-group" value="full-ha-sockets" />
                <feature spec="domain.server-group.jvm">
                    <param name="jvm" value="default"/>
                    <param name="heap-size" value="64m"/>
                    <param name="max-heap-size" value="512m"/>
                </feature>
            </feature>
        </config>
    </example-configs>
</tasks>
