<?xml version="1.0" encoding="UTF-8"?>
<feature-group-spec name="domain-ec2-full-ha" xmlns="urn:jboss:galleon:feature-group:1.0">

    <feature-group name="domain-interfaces"/>

    <feature spec="domain.interface">
        <param name="interface" value="unsecure"/>
        <param name="inet-address" value="${jboss.bind.address.unsecure:127.0.0.1}"/>
    </feature>

    <feature spec="domain.socket-binding-group">
        <param name="socket-binding-group" value="full-ha-sockets"/>
        <param name="default-interface" value="public"/>
        <feature-group name="domain-sockets"/>
        <feature-group name="domain-ha-sockets"/>
        <feature-group name="domain-iiop-sockets"/>
        <feature-group name="domain-mail-sockets"/>
        <feature-group name="domain-transactions-sockets"/>
        <feature-group name="domain-server-groups"/>
    </feature>

    <feature spec="profile">
        <param name="profile" value="full-ha"/>
        <feature-group name="domain-ha-profile">
            <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>
            <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>
        <feature-group name="iiop-openjdk"/>
        <feature-group name="messaging-activemq-ha"/>
        <feature spec="subsystem.ejb3">
            <feature spec="subsystem.ejb3.service.iiop">
                <param name="enable-by-default" value="false"/>
                <param name="use-qualified-name" value="false"/>
            </feature>
        </feature>
    </feature>

    <feature spec="domain.system-property">
        <param name="system-property" value="java.net.preferIPv4Stack"/>
        <param name="value" value="true"/>
    </feature>
    <feature-group name="access-control"/>
    <feature-group name="domain-host-excludes"/>

</feature-group-spec>
