1 Reply Latest reply on Jun 2, 2016 2:37 PM by Wolf-Dieter Fink

    Session Not Replicating in WildFly 9.0.2 Cluster

    Suhas K Newbie

      Hi,

       

      I am trying to create wildfly cluster on two redhat Vms having one node each. They should replicate session cache in between them.

       

      F.Y.I I have turned off the fire wall on both of them

       

      I tried to configure a cluster with Wildfly 9 based on the Wildfly 9 High Availability guide:

      https://docs.jboss.org/author/display/WFLY9/WildFly+9+Cluster+Howto

       

      Everything works fine apart from session replication.

       

      Below is brief on my setup

       

      I have two VM servers having wildfly 9.0.2 installed

      VM1 - Domain Controller and Master ( running Server one under main-server-group on port offset 0 i.e. 8080)

      VM2 - Slave ( running Server one under main-server-group on port offset 0 i.e. 8080)

       

      If start WildFly on both master and slave and check the session attribute then I get different session ids,

      but If I make another server called server two up and running on VM1 or VM2 on port offset 150 then my session cache is getting replicated with the same nodes on respective VMs.

       

      Below is my domain.xml from VM1 (so called domain controller and Master)

       

       

      <?xml version='1.0' encoding='UTF-8'?>

      <domain xmlns="urn:jboss:domain:3.0">

          <extensions>
              <extension module="org.jboss.as.clustering.infinispan"/>
              <extension module="org.jboss.as.clustering.jgroups"/>
              <extension module="org.jboss.as.connector"/>
              <extension module="org.jboss.as.ee"/>
              <extension module="org.jboss.as.ejb3"/>
              <extension module="org.jboss.as.jaxrs"/>
              <extension module="org.jboss.as.jdr"/>
              <extension module="org.jboss.as.jmx"/>
              <extension module="org.jboss.as.jpa"/>
              <extension module="org.jboss.as.jsf"/>
              <extension module="org.jboss.as.jsr77"/>
              <extension module="org.jboss.as.logging"/>
              <extension module="org.jboss.as.mail"/>
              <extension module="org.jboss.as.messaging"/>
              <extension module="org.jboss.as.modcluster"/>
              <extension module="org.jboss.as.naming"/>
              <extension module="org.jboss.as.pojo"/>
              <extension module="org.jboss.as.remoting"/>
              <extension module="org.jboss.as.sar"/>
              <extension module="org.jboss.as.security"/>
              <extension module="org.jboss.as.transactions"/>
              <extension module="org.jboss.as.webservices"/>
              <extension module="org.jboss.as.weld"/>
              <extension module="org.wildfly.extension.batch"/>
              <extension module="org.wildfly.extension.bean-validation"/>
              <extension module="org.wildfly.extension.io"/>
              <extension module="org.wildfly.extension.request-controller"/>
              <extension module="org.wildfly.extension.security.manager"/>
              <extension module="org.wildfly.extension.undertow"/>
              <extension module="org.wildfly.iiop-openjdk"/>
          </extensions>

          <system-properties>
              <property name="java.net.preferIPv4Stack" value="true"/>
          </system-properties>

          <management>
              <access-control provider="simple">
                  <role-mapping>
                      <role name="SuperUser">
                          <include>
                              <user name="$local"/>
                          </include>
                      </role>
                  </role-mapping>
              </access-control>
          </management>

          <profiles>
              <profile name="default">
                  <subsystem xmlns="urn:jboss:domain:logging:3.0">
                      <console-handler name="CONSOLE">
                          <level name="INFO"/>
                          <formatter>
                              <named-formatter name="COLOR-PATTERN"/>
                          </formatter>
                      </console-handler>
                      <periodic-rotating-file-handler name="FILE" autoflush="true">
                          <formatter>
                              <named-formatter name="PATTERN"/>
                          </formatter>
                          <file relative-to="jboss.server.log.dir" path="server.log"/>
                          <suffix value=".yyyy-MM-dd"/>
                          <append value="true"/>
                      </periodic-rotating-file-handler>
                      <logger category="com.arjuna">
                          <level name="WARN"/>
                      </logger>
                      <logger category="org.apache.tomcat.util.modeler">
                          <level name="WARN"/>
                      </logger>
                      <logger category="org.jboss.as.config">
                          <level name="DEBUG"/>
                      </logger>
                      <logger category="sun.rmi">
                          <level name="WARN"/>
                      </logger>
                      <logger category="jacorb">
                          <level name="WARN"/>
                      </logger>
                      <logger category="jacorb.config">
                          <level name="ERROR"/>
                      </logger>
                      <root-logger>
                          <level name="INFO"/>
                          <handlers>
                              <handler name="CONSOLE"/>
                              <handler name="FILE"/>
                          </handlers>
                      </root-logger>
                      <formatter name="PATTERN">
                          <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                      </formatter>
                      <formatter name="COLOR-PATTERN">
                          <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                      </formatter>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:batch:1.0">
                      <job-repository>
                          <in-memory/>
                      </job-repository>
                      <thread-pool>
                          <max-threads count="10"/>
                          <keepalive-time time="30" unit="seconds"/>
                      </thread-pool>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:datasources:3.0">
                      <datasources>
                          <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                              <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                              <driver>h2</driver>
                              <security>
                                  <user-name>sa</user-name>
                                  <password>sa</password>
                              </security>
                          </datasource>
                          <drivers>
                              <driver name="h2" module="com.h2database.h2">
                                  <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                              </driver>
                          </drivers>
                      </datasources>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:ee:3.0">
                      <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                      <concurrent>
                          <context-services>
                              <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
                          </context-services>
                          <managed-thread-factories>
                              <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
                          </managed-thread-factories>
                          <managed-executor-services>
                              <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" core-threads="5" max-threads="25" keepalive-time="5000"/>
                          </managed-executor-services>
                          <managed-scheduled-executor-services>
                              <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" core-threads="2" keepalive-time="3000"/>
                          </managed-scheduled-executor-services>
                      </concurrent>
                      <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:ejb3:3.0">
                      <session-bean>
                          <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
                          <singleton default-access-timeout="5000"/>
                      </session-bean>
                      <pools>
                          <bean-instance-pools>
                              <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                              <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                          </bean-instance-pools>
                      </pools>
                      <caches>
                          <cache name="simple"/>
                          <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
                      </caches>
                      <passivation-stores>
                          <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
                      </passivation-stores>
                      <async thread-pool-name="default"/>
                      <timer-service thread-pool-name="default" default-data-store="default-file-store">
                          <data-stores>
                              <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                          </data-stores>
                      </timer-service>
                      <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
                      <thread-pools>
                          <thread-pool name="default">
                              <max-threads count="10"/>
                              <keepalive-time time="100" unit="milliseconds"/>
                          </thread-pool>
                      </thread-pools>
                      <default-security-domain value="other"/>
                      <default-missing-method-permissions-deny-access value="true"/>
                      <log-system-exceptions value="true"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:io:1.1">
                      <worker name="default"/>
                      <buffer-pool name="default"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:infinispan:3.0">
                      <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server">
                          <local-cache name="default">
                              <transaction mode="BATCH"/>
                          </local-cache>
                      </cache-container>
                      <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
                          <local-cache name="passivation">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store passivation="true" purge="false"/>
                          </local-cache>
                          <local-cache name="persistent">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store passivation="false" purge="false"/>
                          </local-cache>
                      </cache-container>
                      <cache-container name="ejb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan" aliases="sfsb">
                          <local-cache name="passivation">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store passivation="true" purge="false"/>
                          </local-cache>
                          <local-cache name="persistent">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store passivation="false" purge="false"/>
                          </local-cache>
                      </cache-container>
                      <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
                          <local-cache name="local-query">
                              <eviction strategy="LRU" max-entries="10000"/>
                              <expiration max-idle="100000"/>
                          </local-cache>
                          <local-cache name="entity">
                              <transaction mode="NON_XA"/>
                              <eviction strategy="LRU" max-entries="10000"/>
                              <expiration max-idle="100000"/>
                          </local-cache>
                          <local-cache name="timestamps"/>
                      </cache-container>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jca:3.0">
                      <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                      <bean-validation enabled="true"/>
                      <default-workmanager>
                          <short-running-threads>
                              <core-threads count="50"/>
                              <queue-length count="50"/>
                              <max-threads count="50"/>
                              <keepalive-time time="10" unit="seconds"/>
                          </short-running-threads>
                          <long-running-threads>
                              <core-threads count="50"/>
                              <queue-length count="50"/>
                              <max-threads count="50"/>
                              <keepalive-time time="10" unit="seconds"/>
                          </long-running-threads>
                      </default-workmanager>
                      <cached-connection-manager/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                      <expose-resolved-model/>
                      <expose-expression-model/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                      <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:mail:2.0">
                      <mail-session name="default" jndi-name="java:jboss/mail/Default">
                          <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                      </mail-session>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:naming:2.0">
                      <remote-naming/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:remoting:3.0">
                      <endpoint worker="default"/>
                      <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:resource-adapters:3.0"/>
                  <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:security:1.2">
                      <security-domains>
                          <security-domain name="other" cache-type="default">
                              <authentication>
                                  <login-module code="Remoting" flag="optional">
                                      <module-option name="password-stacking" value="useFirstPass"/>
                                  </login-module>
                                  <login-module code="RealmDirect" flag="required">
                                      <module-option name="password-stacking" value="useFirstPass"/>
                                  </login-module>
                              </authentication>
                          </security-domain>
                          <security-domain name="jboss-web-policy" cache-type="default">
                              <authorization>
                                  <policy-module code="Delegating" flag="required"/>
                              </authorization>
                          </security-domain>
                          <security-domain name="jboss-ejb-policy" cache-type="default">
                              <authorization>
                                  <policy-module code="Delegating" flag="required"/>
                              </authorization>
                          </security-domain>
                      </security-domains>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
                      <deployment-permissions>
                          <maximum-set>
                              <permission class="java.security.AllPermission"/>
                          </maximum-set>
                      </deployment-permissions>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:transactions:3.0">
                      <core-environment>
                          <process-id>
                              <uuid/>
                          </process-id>
                      </core-environment>
                      <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:undertow:2.0">
                      <buffer-cache name="default"/>
                      <server name="default-server">
                          <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                          <host name="default-host" alias="localhost">
                              <location name="/" handler="welcome-content"/>
                              <filter-ref name="server-header"/>
                              <filter-ref name="x-powered-by-header"/>
                          </host>
                      </server>
                      <servlet-container name="default">
                          <jsp-config/>
                          <websockets/>
                      </servlet-container>
                      <handlers>
                          <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
                      </handlers>
                      <filters>
                          <response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
                          <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
                      </filters>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:webservices:2.0">
                      <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                      <endpoint-config name="Standard-Endpoint-Config"/>
                      <endpoint-config name="Recording-Endpoint-Config">
                          <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                              <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                          </pre-handler-chain>
                      </endpoint-config>
                      <client-config name="Standard-Client-Config"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:weld:2.0"/>
              </profile>
              <profile name="ha">
                  <subsystem xmlns="urn:jboss:domain:logging:3.0">
                      <console-handler name="CONSOLE">
                          <level name="INFO"/>
                          <formatter>
                              <named-formatter name="COLOR-PATTERN"/>
                          </formatter>
                      </console-handler>
                      <periodic-rotating-file-handler name="FILE" autoflush="true">
                          <formatter>
                              <named-formatter name="PATTERN"/>
                          </formatter>
                          <file relative-to="jboss.server.log.dir" path="server.log"/>
                          <suffix value=".yyyy-MM-dd"/>
                          <append value="true"/>
                      </periodic-rotating-file-handler>
                      <logger category="com.arjuna">
                          <level name="WARN"/>
                      </logger>
                      <logger category="org.apache.tomcat.util.modeler">
                          <level name="WARN"/>
                      </logger>
                      <logger category="org.jboss.as.config">
                          <level name="DEBUG"/>
                      </logger>
                      <logger category="sun.rmi">
                          <level name="WARN"/>
                      </logger>
                      <logger category="jacorb">
                          <level name="WARN"/>
                      </logger>
                      <logger category="jacorb.config">
                          <level name="ERROR"/>
                      </logger>
                      <root-logger>
                          <level name="INFO"/>
                          <handlers>
                              <handler name="CONSOLE"/>
                              <handler name="FILE"/>
                          </handlers>
                      </root-logger>
                      <formatter name="PATTERN">
                          <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                      </formatter>
                      <formatter name="COLOR-PATTERN">
                          <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                      </formatter>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:batch:1.0">
                      <job-repository>
                          <in-memory/>
                      </job-repository>
                      <thread-pool>
                          <max-threads count="10"/>
                          <keepalive-time time="30" unit="seconds"/>
                      </thread-pool>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:datasources:3.0">
                      <datasources>
                          <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                              <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                              <driver>h2</driver>
                              <security>
                                  <user-name>sa</user-name>
                                  <password>sa</password>
                              </security>
                          </datasource>
                          <drivers>
                              <driver name="h2" module="com.h2database.h2">
                                  <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                              </driver>
                          </drivers>
                      </datasources>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:ee:3.0">
                      <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                      <concurrent>
                          <context-services>
                              <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
                          </context-services>
                          <managed-thread-factories>
                              <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
                          </managed-thread-factories>
                          <managed-executor-services>
                              <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" core-threads="5" max-threads="25" keepalive-time="5000"/>
                          </managed-executor-services>
                          <managed-scheduled-executor-services>
                              <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" core-threads="2" keepalive-time="3000"/>
                          </managed-scheduled-executor-services>
                      </concurrent>
                      <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:ejb3:3.0">
                      <session-bean>
                          <stateful default-access-timeout="5000" cache-ref="distributable" passivation-disabled-cache-ref="simple"/>
                          <singleton default-access-timeout="5000"/>
                      </session-bean>
                      <pools>
                          <bean-instance-pools>
                              <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                              <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                          </bean-instance-pools>
                      </pools>
                      <caches>
                          <cache name="simple"/>
                          <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
                      </caches>
                      <passivation-stores>
                          <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
                      </passivation-stores>
                      <async thread-pool-name="default"/>
                      <timer-service thread-pool-name="default" default-data-store="default-file-store">
                          <data-stores>
                              <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                          </data-stores>
                      </timer-service>
                      <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
                      <thread-pools>
                          <thread-pool name="default">
                              <max-threads count="10"/>
                              <keepalive-time time="100" unit="milliseconds"/>
                          </thread-pool>
                      </thread-pools>
                      <default-security-domain value="other"/>
                      <default-missing-method-permissions-deny-access value="true"/>
                      <log-system-exceptions value="true"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:io:1.1">
                      <worker name="default"/>
                      <buffer-pool name="default"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:infinispan:3.0">
                      <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server" aliases="singleton cluster">
                          <transport lock-timeout="60000"/>
                          <replicated-cache name="default" mode="SYNC">
                              <transaction mode="BATCH"/>
                          </replicated-cache>
                      </cache-container>
                      <cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
                          <transport lock-timeout="60000"/>
                          <distributed-cache name="dist" mode="ASYNC" owners="2" l1-lifespan="0">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store/>
                          </distributed-cache>
                      </cache-container>
                      <cache-container name="ejb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan" aliases="sfsb">
                          <transport lock-timeout="60000"/>
                          <distributed-cache name="dist" mode="ASYNC" owners="2" l1-lifespan="0">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store/>
                          </distributed-cache>
                      </cache-container>
                      <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
                          <transport lock-timeout="60000"/>
                          <local-cache name="local-query">
                              <eviction strategy="LRU" max-entries="10000"/>
                              <expiration max-idle="100000"/>
                          </local-cache>
                          <invalidation-cache name="entity" mode="SYNC">
                              <transaction mode="NON_XA"/>
                              <eviction strategy="LRU" max-entries="10000"/>
                              <expiration max-idle="100000"/>
                          </invalidation-cache>
                          <replicated-cache name="timestamps" mode="ASYNC"/>
                      </cache-container>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jca:3.0">
                      <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                      <bean-validation enabled="true"/>
                      <default-workmanager>
                          <short-running-threads>
                              <core-threads count="50"/>
                              <queue-length count="50"/>
                              <max-threads count="50"/>
                              <keepalive-time time="10" unit="seconds"/>
                          </short-running-threads>
                          <long-running-threads>
                              <core-threads count="50"/>
                              <queue-length count="50"/>
                              <max-threads count="50"/>
                              <keepalive-time time="10" unit="seconds"/>
                          </long-running-threads>
                      </default-workmanager>
                      <cached-connection-manager/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jgroups:3.0">
                      <channels default="ee">
                          <channel name="ee"/>
                      </channels>
                      <stacks default="udp">
                          <stack name="udp">
                              <transport type="UDP" socket-binding="jgroups-udp"/>
                              <protocol type="PING"/>
                              <protocol type="MERGE3"/>
                              <protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
                              <protocol type="FD_ALL"/>
                              <protocol type="VERIFY_SUSPECT"/>
                              <protocol type="pbcast.NAKACK2"/>
                              <protocol type="UNICAST3"/>
                              <protocol type="pbcast.STABLE"/>
                              <protocol type="pbcast.GMS"/>
                              <protocol type="UFC"/>
                              <protocol type="MFC"/>
                              <protocol type="FRAG2"/>
                              <protocol type="RSVP"/>
                          </stack>
                          <stack name="tcp">
                              <transport type="TCP" socket-binding="jgroups-tcp"/>
                              <protocol type="MPING" socket-binding="jgroups-mping"/>
                              <protocol type="MERGE3"/>
                              <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
                              <protocol type="FD"/>
                              <protocol type="VERIFY_SUSPECT"/>
                              <protocol type="pbcast.NAKACK2"/>
                              <protocol type="UNICAST3"/>
                              <protocol type="pbcast.STABLE"/>
                              <protocol type="pbcast.GMS"/>
                              <protocol type="MFC"/>
                              <protocol type="FRAG2"/>
                              <protocol type="RSVP"/>
                          </stack>
                      </stacks>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                      <expose-resolved-model/>
                      <expose-expression-model/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                      <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:mail:2.0">
                      <mail-session name="default" jndi-name="java:jboss/mail/Default">
                          <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                      </mail-session>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:modcluster:2.0">
                      <mod-cluster-config advertise-socket="modcluster" connector="ajp">
                          <dynamic-load-provider>
                              <load-metric type="cpu"/>
                          </dynamic-load-provider>
                      </mod-cluster-config>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:naming:2.0">
                      <remote-naming/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:remoting:3.0">
                      <endpoint worker="default"/>
                      <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:resource-adapters:3.0"/>
                  <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:security:1.2">
                      <security-domains>
                          <security-domain name="other" cache-type="default">
                              <authentication>
                                  <login-module code="Remoting" flag="optional">
                                      <module-option name="password-stacking" value="useFirstPass"/>
                                  </login-module>
                                  <login-module code="RealmDirect" flag="required">
                                      <module-option name="password-stacking" value="useFirstPass"/>
                                  </login-module>
                              </authentication>
                          </security-domain>
                          <security-domain name="jboss-web-policy" cache-type="default">
                              <authorization>
                                  <policy-module code="Delegating" flag="required"/>
                              </authorization>
                          </security-domain>
                          <security-domain name="jboss-ejb-policy" cache-type="default">
                              <authorization>
                                  <policy-module code="Delegating" flag="required"/>
                              </authorization>
                          </security-domain>
                      </security-domains>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
                      <deployment-permissions>
                          <maximum-set>
                              <permission class="java.security.AllPermission"/>
                          </maximum-set>
                      </deployment-permissions>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:transactions:3.0">
                      <core-environment>
                          <process-id>
                              <uuid/>
                          </process-id>
                      </core-environment>
                      <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:undertow:2.0">
                      <buffer-cache name="default"/>
                      <server name="default-server">
                          <ajp-listener name="ajp" socket-binding="ajp"/>
                          <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                          <host name="default-host" alias="localhost">
                              <location name="/" handler="welcome-content"/>
                              <filter-ref name="server-header"/>
                              <filter-ref name="x-powered-by-header"/>
                          </host>
                      </server>
                      <servlet-container name="default">
                          <jsp-config/>
                          <websockets/>
                      </servlet-container>
                      <handlers>
                          <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
                      </handlers>
                      <filters>
                          <response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
                          <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
                      </filters>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:webservices:2.0">
                      <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                      <endpoint-config name="Standard-Endpoint-Config"/>
                      <endpoint-config name="Recording-Endpoint-Config">
                          <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                              <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                          </pre-handler-chain>
                      </endpoint-config>
                      <client-config name="Standard-Client-Config"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:weld:2.0"/>
              </profile>
              <profile name="full">
                  <subsystem xmlns="urn:jboss:domain:logging:3.0">
                      <console-handler name="CONSOLE">
                          <level name="INFO"/>
                          <formatter>
                              <named-formatter name="COLOR-PATTERN"/>
                          </formatter>
                      </console-handler>
                      <periodic-rotating-file-handler name="FILE" autoflush="true">
                          <formatter>
                              <named-formatter name="PATTERN"/>
                          </formatter>
                          <file relative-to="jboss.server.log.dir" path="server.log"/>
                          <suffix value=".yyyy-MM-dd"/>
                          <append value="true"/>
                      </periodic-rotating-file-handler>
                      <logger category="com.arjuna">
                          <level name="WARN"/>
                      </logger>
                      <logger category="org.apache.tomcat.util.modeler">
                          <level name="WARN"/>
                      </logger>
                      <logger category="org.jboss.as.config">
                          <level name="DEBUG"/>
                      </logger>
                      <logger category="sun.rmi">
                          <level name="WARN"/>
                      </logger>
                      <logger category="jacorb">
                          <level name="WARN"/>
                      </logger>
                      <logger category="jacorb.config">
                          <level name="ERROR"/>
                      </logger>
                      <root-logger>
                          <level name="INFO"/>
                          <handlers>
                              <handler name="CONSOLE"/>
                              <handler name="FILE"/>
                          </handlers>
                      </root-logger>
                      <formatter name="PATTERN">
                          <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                      </formatter>
                      <formatter name="COLOR-PATTERN">
                          <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                      </formatter>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:batch:1.0">
                      <job-repository>
                          <in-memory/>
                      </job-repository>
                      <thread-pool>
                          <max-threads count="10"/>
                          <keepalive-time time="30" unit="seconds"/>
                      </thread-pool>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:datasources:3.0">
                      <datasources>
                          <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                              <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                              <driver>h2</driver>
                              <security>
                                  <user-name>sa</user-name>
                                  <password>sa</password>
                              </security>
                          </datasource>
                          <drivers>
                              <driver name="h2" module="com.h2database.h2">
                                  <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                              </driver>
                          </drivers>
                      </datasources>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:ee:3.0">
                      <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                      <concurrent>
                          <context-services>
                              <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
                          </context-services>
                          <managed-thread-factories>
                              <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
                          </managed-thread-factories>
                          <managed-executor-services>
                              <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" core-threads="5" max-threads="25" keepalive-time="5000"/>
                          </managed-executor-services>
                          <managed-scheduled-executor-services>
                              <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" core-threads="2" keepalive-time="3000"/>
                          </managed-scheduled-executor-services>
                      </concurrent>
                      <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:ejb3:3.0">
                      <session-bean>
                          <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
                          <singleton default-access-timeout="5000"/>
                      </session-bean>
                      <mdb>
                          <resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:hornetq-ra.rar}"/>
                          <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
                      </mdb>
                      <pools>
                          <bean-instance-pools>
                              <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                              <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                          </bean-instance-pools>
                      </pools>
                      <caches>
                          <cache name="simple"/>
                          <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
                      </caches>
                      <passivation-stores>
                          <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
                      </passivation-stores>
                      <async thread-pool-name="default"/>
                      <timer-service thread-pool-name="default" default-data-store="default-file-store">
                          <data-stores>
                              <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                          </data-stores>
                      </timer-service>
                      <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
                      <thread-pools>
                          <thread-pool name="default">
                              <max-threads count="10"/>
                              <keepalive-time time="100" unit="milliseconds"/>
                          </thread-pool>
                      </thread-pools>
                      <iiop enable-by-default="false" use-qualified-name="false"/>
                      <default-security-domain value="other"/>
                      <default-missing-method-permissions-deny-access value="true"/>
                      <log-system-exceptions value="true"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:io:1.1">
                      <worker name="default"/>
                      <buffer-pool name="default"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:infinispan:3.0">
                      <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server">
                          <local-cache name="default">
                              <transaction mode="BATCH"/>
                          </local-cache>
                      </cache-container>
                      <cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
                          <local-cache name="passivation">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store passivation="true" purge="false"/>
                          </local-cache>
                          <local-cache name="persistent">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store passivation="false" purge="false"/>
                          </local-cache>
                      </cache-container>
                      <cache-container name="ejb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan" aliases="sfsb">
                          <local-cache name="passivation">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store passivation="true" purge="false"/>
                          </local-cache>
                          <local-cache name="persistent">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store passivation="false" purge="false"/>
                          </local-cache>
                      </cache-container>
                      <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
                          <local-cache name="local-query">
                              <eviction strategy="LRU" max-entries="10000"/>
                              <expiration max-idle="100000"/>
                          </local-cache>
                          <local-cache name="entity">
                              <transaction mode="NON_XA"/>
                              <eviction strategy="LRU" max-entries="10000"/>
                              <expiration max-idle="100000"/>
                          </local-cache>
                          <local-cache name="timestamps"/>
                      </cache-container>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:iiop-openjdk:1.0">
                      <orb socket-binding="iiop" ssl-socket-binding="iiop-ssl"/>
                      <initializers security="identity" transactions="spec"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jca:3.0">
                      <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                      <bean-validation enabled="true"/>
                      <default-workmanager>
                          <short-running-threads>
                              <core-threads count="50"/>
                              <queue-length count="50"/>
                              <max-threads count="50"/>
                              <keepalive-time time="10" unit="seconds"/>
                          </short-running-threads>
                          <long-running-threads>
                              <core-threads count="50"/>
                              <queue-length count="50"/>
                              <max-threads count="50"/>
                              <keepalive-time time="10" unit="seconds"/>
                          </long-running-threads>
                      </default-workmanager>
                      <cached-connection-manager/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                      <expose-resolved-model/>
                      <expose-expression-model/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                      <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jsr77:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:mail:2.0">
                      <mail-session name="default" jndi-name="java:jboss/mail/Default">
                          <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                      </mail-session>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:messaging:3.0">
                      <hornetq-server>
                          <journal-file-size>102400</journal-file-size>

                          <connectors>
                              <http-connector name="http-connector" socket-binding="http">
                                  <param key="http-upgrade-endpoint" value="http-acceptor"/>
                              </http-connector>
                              <http-connector name="http-connector-throughput" socket-binding="http">
                                  <param key="http-upgrade-endpoint" value="http-acceptor-throughput"/>
                                  <param key="batch-delay" value="50"/>
                              </http-connector>
                              <in-vm-connector name="in-vm" server-id="0"/>
                          </connectors>

                          <acceptors>
                              <http-acceptor http-listener="default" name="http-acceptor"/>
                              <http-acceptor http-listener="default" name="http-acceptor-throughput">
                                  <param key="batch-delay" value="50"/>
                                  <param key="direct-deliver" value="false"/>
                              </http-acceptor>
                              <in-vm-acceptor name="in-vm" server-id="0"/>
                          </acceptors>

                          <security-settings>
                              <security-setting match="#">
                                  <permission type="send" roles="guest"/>
                                  <permission type="consume" roles="guest"/>
                                  <permission type="createNonDurableQueue" roles="guest"/>
                                  <permission type="deleteNonDurableQueue" roles="guest"/>
                              </security-setting>
                          </security-settings>

                          <address-settings>
                              <address-setting match="#">
                                  <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                                  <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                                  <max-size-bytes>10485760</max-size-bytes>
                                  <page-size-bytes>2097152</page-size-bytes>
                                  <message-counter-history-day-limit>10</message-counter-history-day-limit>
                              </address-setting>
                          </address-settings>

                          <jms-connection-factories>
                              <connection-factory name="InVmConnectionFactory">
                                  <connectors>
                                      <connector-ref connector-name="in-vm"/>
                                  </connectors>
                                  <entries>
                                      <entry name="java:/ConnectionFactory"/>
                                  </entries>
                              </connection-factory>
                              <connection-factory name="RemoteConnectionFactory">
                                  <connectors>
                                      <connector-ref connector-name="http-connector"/>
                                  </connectors>
                                  <entries>
                                      <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
                                  </entries>
                              </connection-factory>
                              <pooled-connection-factory name="hornetq-ra">
                                  <transaction mode="xa"/>
                                  <connectors>
                                      <connector-ref connector-name="in-vm"/>
                                  </connectors>
                                  <entries>
                                      <entry name="java:/JmsXA"/>
                                      <entry name="java:jboss/DefaultJMSConnectionFactory"/>
                                  </entries>
                              </pooled-connection-factory>
                          </jms-connection-factories>

                          <jms-destinations>
                              <jms-queue name="ExpiryQueue">
                                  <entry name="java:/jms/queue/ExpiryQueue"/>
                              </jms-queue>
                              <jms-queue name="DLQ">
                                  <entry name="java:/jms/queue/DLQ"/>
                              </jms-queue>
                          </jms-destinations>
                      </hornetq-server>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:naming:2.0">
                      <remote-naming/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:remoting:3.0">
                      <endpoint worker="default"/>
                      <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:resource-adapters:3.0"/>
                  <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:security:1.2">
                      <security-domains>
                          <security-domain name="other" cache-type="default">
                              <authentication>
                                  <login-module code="Remoting" flag="optional">
                                      <module-option name="password-stacking" value="useFirstPass"/>
                                  </login-module>
                                  <login-module code="RealmDirect" flag="required">
                                      <module-option name="password-stacking" value="useFirstPass"/>
                                  </login-module>
                              </authentication>
                          </security-domain>
                          <security-domain name="jboss-web-policy" cache-type="default">
                              <authorization>
                                  <policy-module code="Delegating" flag="required"/>
                              </authorization>
                          </security-domain>
                          <security-domain name="jboss-ejb-policy" cache-type="default">
                              <authorization>
                                  <policy-module code="Delegating" flag="required"/>
                              </authorization>
                          </security-domain>
                      </security-domains>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
                      <deployment-permissions>
                          <maximum-set>
                              <permission class="java.security.AllPermission"/>
                          </maximum-set>
                      </deployment-permissions>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:transactions:3.0">
                      <core-environment>
                          <process-id>
                              <uuid/>
                          </process-id>
                      </core-environment>
                      <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:undertow:2.0">
                      <buffer-cache name="default"/>
                      <server name="default-server">
                          <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                          <host name="default-host" alias="localhost">
                              <location name="/" handler="welcome-content"/>
                              <filter-ref name="server-header"/>
                              <filter-ref name="x-powered-by-header"/>
                          </host>
                      </server>
                      <servlet-container name="default">
                          <jsp-config/>
                          <websockets/>
                      </servlet-container>
                      <handlers>
                          <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
                      </handlers>
                      <filters>
                          <response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
                          <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
                      </filters>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:webservices:2.0">
                      <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                      <endpoint-config name="Standard-Endpoint-Config"/>
                      <endpoint-config name="Recording-Endpoint-Config">
                          <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                              <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                          </pre-handler-chain>
                      </endpoint-config>
                      <client-config name="Standard-Client-Config"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:weld:2.0"/>
              </profile>
              <profile name="full-ha">
                  <subsystem xmlns="urn:jboss:domain:logging:3.0">
                      <console-handler name="CONSOLE">
                          <level name="INFO"/>
                          <formatter>
                              <named-formatter name="COLOR-PATTERN"/>
                          </formatter>
                      </console-handler>
                      <periodic-rotating-file-handler name="FILE" autoflush="true">
                          <formatter>
                              <named-formatter name="PATTERN"/>
                          </formatter>
                          <file relative-to="jboss.server.log.dir" path="server.log"/>
                          <suffix value=".yyyy-MM-dd"/>
                          <append value="true"/>
                      </periodic-rotating-file-handler>
                      <logger category="com.arjuna">
                          <level name="WARN"/>
                      </logger>
                      <logger category="org.apache.tomcat.util.modeler">
                          <level name="WARN"/>
                      </logger>
                      <logger category="org.jboss.as.config">
                          <level name="DEBUG"/>
                      </logger>
                      <logger category="sun.rmi">
                          <level name="WARN"/>
                      </logger>
                      <logger category="jacorb">
                          <level name="WARN"/>
                      </logger>
                      <logger category="jacorb.config">
                          <level name="ERROR"/>
                      </logger>
                      <root-logger>
                          <level name="INFO"/>
                          <handlers>
                              <handler name="CONSOLE"/>
                              <handler name="FILE"/>
                          </handlers>
                      </root-logger>
                      <formatter name="PATTERN">
                          <pattern-formatter pattern="%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                      </formatter>
                      <formatter name="COLOR-PATTERN">
                          <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/>
                      </formatter>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:batch:1.0">
                      <job-repository>
                          <in-memory/>
                      </job-repository>
                      <thread-pool>
                          <max-threads count="10"/>
                          <keepalive-time time="30" unit="seconds"/>
                      </thread-pool>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:datasources:3.0">
                      <datasources>
                          <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
                              <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                              <driver>h2</driver>
                              <security>
                                  <user-name>sa</user-name>
                                  <password>sa</password>
                              </security>
                          </datasource>
                          <drivers>
                              <driver name="h2" module="com.h2database.h2">
                                  <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                              </driver>
                          </drivers>
                      </datasources>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:ee:3.0">
                      <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                      <concurrent>
                          <context-services>
                              <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/>
                          </context-services>
                          <managed-thread-factories>
                              <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
                          </managed-thread-factories>
                          <managed-executor-services>
                              <managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" core-threads="5" max-threads="25" keepalive-time="5000"/>
                          </managed-executor-services>
                          <managed-scheduled-executor-services>
                              <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" core-threads="2" keepalive-time="3000"/>
                          </managed-scheduled-executor-services>
                      </concurrent>
                      <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:ejb3:3.0">
                      <session-bean>
                          <stateful default-access-timeout="5000" cache-ref="distributable" passivation-disabled-cache-ref="simple"/>
                          <singleton default-access-timeout="5000"/>
                      </session-bean>
                      <mdb>
                          <resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:hornetq-ra.rar}"/>
                          <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
                      </mdb>
                      <pools>
                          <bean-instance-pools>
                              <strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                              <strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
                          </bean-instance-pools>
                      </pools>
                      <caches>
                          <cache name="simple"/>
                          <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/>
                      </caches>
                      <passivation-stores>
                          <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/>
                      </passivation-stores>
                      <async thread-pool-name="default"/>
                      <timer-service thread-pool-name="default" default-data-store="default-file-store">
                          <data-stores>
                              <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/>
                          </data-stores>
                      </timer-service>
                      <remote connector-ref="http-remoting-connector" thread-pool-name="default"/>
                      <thread-pools>
                          <thread-pool name="default">
                              <max-threads count="10"/>
                              <keepalive-time time="100" unit="milliseconds"/>
                          </thread-pool>
                      </thread-pools>
                      <iiop enable-by-default="false" use-qualified-name="false"/>
                      <default-security-domain value="other"/>
                      <default-missing-method-permissions-deny-access value="true"/>
                      <log-system-exceptions value="true"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:io:1.1">
                      <worker name="default"/>
                      <buffer-pool name="default"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:infinispan:3.0">
                      <cache-container name="server" default-cache="default" module="org.wildfly.clustering.server" aliases="singleton cluster">
                          <transport lock-timeout="60000"/>
                          <replicated-cache name="default" mode="SYNC">
                              <transaction mode="BATCH"/>
                          </replicated-cache>
                      </cache-container>
                      <cache-container name="web" default-cache="dist" module="org.wildfly.clustering.web.infinispan">
                          <transport lock-timeout="60000"/>
                          <distributed-cache name="dist" mode="ASYNC" owners="4" l1-lifespan="0">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store/>
                          </distributed-cache>
                      </cache-container>
                      <cache-container name="ejb" default-cache="dist" module="org.wildfly.clustering.ejb.infinispan" aliases="sfsb">
                          <transport lock-timeout="60000"/>
                          <distributed-cache name="dist" mode="ASYNC" owners="2" l1-lifespan="0">
                              <locking isolation="REPEATABLE_READ"/>
                              <transaction mode="BATCH"/>
                              <file-store/>
                          </distributed-cache>
                      </cache-container>
                      <cache-container name="hibernate" default-cache="local-query" module="org.hibernate.infinispan">
                          <transport lock-timeout="60000"/>
                          <local-cache name="local-query">
                              <eviction strategy="LRU" max-entries="10000"/>
                              <expiration max-idle="100000"/>
                          </local-cache>
                          <invalidation-cache name="entity" mode="SYNC">
                              <transaction mode="NON_XA"/>
                              <eviction strategy="LRU" max-entries="10000"/>
                              <expiration max-idle="100000"/>
                          </invalidation-cache>
                          <replicated-cache name="timestamps" mode="ASYNC"/>
                      </cache-container>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:iiop-openjdk:1.0">
                      <orb socket-binding="iiop" ssl-socket-binding="iiop-ssl"/>
                      <initializers security="identity" transactions="spec"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jca:3.0">
                      <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
                      <bean-validation enabled="true"/>
                      <default-workmanager>
                          <short-running-threads>
                              <core-threads count="50"/>
                              <queue-length count="50"/>
                              <max-threads count="50"/>
                              <keepalive-time time="10" unit="seconds"/>
                          </short-running-threads>
                          <long-running-threads>
                              <core-threads count="50"/>
                              <queue-length count="50"/>
                              <max-threads count="50"/>
                              <keepalive-time time="10" unit="seconds"/>
                          </long-running-threads>
                      </default-workmanager>
                      <cached-connection-manager/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jgroups:3.0">
                      <channels default="ee">
                          <channel name="ee"/>
                      </channels>
                      <stacks default="udp">
                          <stack name="udp">
                              <transport type="UDP" socket-binding="jgroups-udp"/>
                              <protocol type="PING"/>
                              <protocol type="MERGE3"/>
                              <protocol type="FD_SOCK" socket-binding="jgroups-udp-fd"/>
                              <protocol type="FD_ALL"/>
                              <protocol type="VERIFY_SUSPECT"/>
                              <protocol type="pbcast.NAKACK2"/>
                              <protocol type="UNICAST3"/>
                              <protocol type="pbcast.STABLE"/>
                              <protocol type="pbcast.GMS"/>
                              <protocol type="UFC"/>
                              <protocol type="MFC"/>
                              <protocol type="FRAG2"/>
                              <protocol type="RSVP"/>
                          </stack>
                          <stack name="tcp">
                              <transport type="TCP" socket-binding="jgroups-tcp"/>
                              <protocol type="MPING" socket-binding="jgroups-mping"/>
                              <protocol type="MERGE3"/>
                              <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
                              <protocol type="FD"/>
                              <protocol type="VERIFY_SUSPECT"/>
                              <protocol type="pbcast.NAKACK2"/>
                              <protocol type="UNICAST3"/>
                              <protocol type="pbcast.STABLE"/>
                              <protocol type="pbcast.GMS"/>
                              <protocol type="MFC"/>
                              <protocol type="FRAG2"/>
                              <protocol type="RSVP"/>
                          </stack>
                      </stacks>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                      <expose-resolved-model/>
                      <expose-expression-model/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jpa:1.1">
                      <jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:jsf:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:jsr77:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:mail:2.0">
                      <mail-session name="default" jndi-name="java:jboss/mail/Default">
                          <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                      </mail-session>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:messaging:3.0">
                      <hornetq-server>
                          <cluster-password>${jboss.messaging.cluster.password:passw0rd!}</cluster-password>
                          <journal-file-size>102400</journal-file-size>

                          <connectors>
                              <http-connector name="http-connector" socket-binding="http">
                                  <param key="http-upgrade-endpoint" value="http-acceptor"/>
                              </http-connector>
                              <http-connector name="http-connector-throughput" socket-binding="http">
                                  <param key="http-upgrade-endpoint" value="http-acceptor-throughput"/>
                                  <param key="batch-delay" value="50"/>
                              </http-connector>
                              <in-vm-connector name="in-vm" server-id="0"/>
                          </connectors>

                          <acceptors>
                              <http-acceptor http-listener="default" name="http-acceptor"/>
                              <http-acceptor http-listener="default" name="http-acceptor-throughput">
                                  <param key="batch-delay" value="50"/>
                                  <param key="direct-deliver" value="false"/>
                              </http-acceptor>
                              <in-vm-acceptor name="in-vm" server-id="0"/>
                          </acceptors>

                          <broadcast-groups>
                              <broadcast-group name="bg-group1">
                                  <jgroups-stack>udp</jgroups-stack>
                                  <jgroups-channel>hq-cluster</jgroups-channel>
                                  <connector-ref>
                                      http-connector
                                  </connector-ref>
                              </broadcast-group>
                          </broadcast-groups>

                          <discovery-groups>
                              <discovery-group name="dg-group1">
                                  <jgroups-stack>udp</jgroups-stack>
                                  <jgroups-channel>hq-cluster</jgroups-channel>
                              </discovery-group>
                          </discovery-groups>

                          <cluster-connections>
                              <cluster-connection name="my-cluster">
                                  <address>jms</address>
                                  <connector-ref>http-connector</connector-ref>
                                  <discovery-group-ref discovery-group-name="dg-group1"/>
                              </cluster-connection>
                          </cluster-connections>

                          <security-settings>
                              <security-setting match="#">
                                  <permission type="send" roles="guest"/>
                                  <permission type="consume" roles="guest"/>
                                  <permission type="createNonDurableQueue" roles="guest"/>
                                  <permission type="deleteNonDurableQueue" roles="guest"/>
                              </security-setting>
                          </security-settings>

                          <address-settings>
                              <address-setting match="#">
                                  <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                                  <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                                  <max-size-bytes>10485760</max-size-bytes>
                                  <page-size-bytes>2097152</page-size-bytes>
                                  <message-counter-history-day-limit>10</message-counter-history-day-limit>
                                  <redistribution-delay>1000</redistribution-delay>
                              </address-setting>
                          </address-settings>

                          <jms-connection-factories>
                              <connection-factory name="InVmConnectionFactory">
                                  <connectors>
                                      <connector-ref connector-name="in-vm"/>
                                  </connectors>
                                  <entries>
                                      <entry name="java:/ConnectionFactory"/>
                                  </entries>
                              </connection-factory>
                              <connection-factory name="RemoteConnectionFactory">
                                  <connectors>
                                      <connector-ref connector-name="http-connector"/>
                                  </connectors>
                                  <entries>
                                      <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
                                  </entries>
                                  <ha>true</ha>
                                  <block-on-acknowledge>true</block-on-acknowledge>
                                  <reconnect-attempts>-1</reconnect-attempts>
                              </connection-factory>
                              <pooled-connection-factory name="hornetq-ra">
                                  <transaction mode="xa"/>
                                  <connectors>
                                      <connector-ref connector-name="in-vm"/>
                                  </connectors>
                                  <entries>
                                      <entry name="java:/JmsXA"/>
                                      <entry name="java:jboss/DefaultJMSConnectionFactory"/>
                                  </entries>
                              </pooled-connection-factory>
                          </jms-connection-factories>

                          <jms-destinations>
                              <jms-queue name="ExpiryQueue">
                                  <entry name="java:/jms/queue/ExpiryQueue"/>
                              </jms-queue>
                              <jms-queue name="DLQ">
                                  <entry name="java:/jms/queue/DLQ"/>
                              </jms-queue>
                          </jms-destinations>
                      </hornetq-server>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:modcluster:2.0">
                      <mod-cluster-config advertise-socket="modcluster" balancer="opsdevcluster" sticky-session-force="true" connector="ajp">
                          <dynamic-load-provider>
                              <load-metric type="cpu"/>
                          </dynamic-load-provider>
                      </mod-cluster-config>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:naming:2.0">
                      <remote-naming/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:remoting:3.0">
                      <endpoint worker="default"/>
                      <http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:resource-adapters:3.0"/>
                  <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:sar:1.0"/>
                  <subsystem xmlns="urn:jboss:domain:security:1.2">
                      <security-domains>
                          <security-domain name="other" cache-type="default">
                              <authentication>
                                  <login-module code="Remoting" flag="optional">
                                      <module-option name="password-stacking" value="useFirstPass"/>
                                  </login-module>
                                  <login-module code="RealmDirect" flag="required">
                                      <module-option name="password-stacking" value="useFirstPass"/>
                                  </login-module>
                              </authentication>
                          </security-domain>
                          <security-domain name="jboss-web-policy" cache-type="default">
                              <authorization>
                                  <policy-module code="Delegating" flag="required"/>
                              </authorization>
                          </security-domain>
                          <security-domain name="jboss-ejb-policy" cache-type="default">
                              <authorization>
                                  <policy-module code="Delegating" flag="required"/>
                              </authorization>
                          </security-domain>
                      </security-domains>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:security-manager:1.0">
                      <deployment-permissions>
                          <maximum-set>
                              <permission class="java.security.AllPermission"/>
                          </maximum-set>
                      </deployment-permissions>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:transactions:3.0">
                      <core-environment>
                          <process-id>
                              <uuid/>
                          </process-id>
                      </core-environment>
                      <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:undertow:2.0">
                      <buffer-cache name="default"/>
                      <server name="default-server">
                          <ajp-listener name="ajp" socket-binding="ajp"/>
                          <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                          <host name="default-host" alias="localhost">
                              <location name="/" handler="welcome-content"/>
                              <filter-ref name="server-header"/>
                              <filter-ref name="x-powered-by-header"/>
                          </host>
                      </server>
                      <servlet-container name="default">
                          <jsp-config/>
                          <websockets/>
                      </servlet-container>
                      <handlers>
                          <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
                      </handlers>
                      <filters>
                          <response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
                          <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
                      </filters>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:webservices:2.0">
                      <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
                      <endpoint-config name="Standard-Endpoint-Config"/>
                      <endpoint-config name="Recording-Endpoint-Config">
                          <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                              <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
                          </pre-handler-chain>
                      </endpoint-config>
                      <client-config name="Standard-Client-Config"/>
                  </subsystem>
                  <subsystem xmlns="urn:jboss:domain:weld:2.0"/>
              </profile>
          </profiles>

          <interfaces>
              <interface name="management"/>
              <interface name="public"/>
              <interface name="unsecure"/>
          </interfaces>

          <socket-binding-groups>
              <socket-binding-group name="standard-sockets" default-interface="public">
                  <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
                  <socket-binding name="http" port="${jboss.http.port:8080}"/>
                  <socket-binding name="https" port="${jboss.https.port:8443}"/>
                  <socket-binding name="txn-recovery-environment" port="4712"/>
                  <socket-binding name="txn-status-manager" port="4713"/>
                  <outbound-socket-binding name="mail-smtp">
                      <remote-destination host="localhost" port="25"/>
                  </outbound-socket-binding>
              </socket-binding-group>
              <socket-binding-group name="ha-sockets" default-interface="public">
                  <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
                  <socket-binding name="http" port="${jboss.http.port:8080}"/>
                  <socket-binding name="https" port="${jboss.https.port:8443}"/>
                  <socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
                  <socket-binding name="jgroups-tcp" port="7600"/>
                  <socket-binding name="jgroups-tcp-fd" port="57600"/>
                  <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
                  <socket-binding name="jgroups-udp-fd" port="54200"/>
                  <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
                  <socket-binding name="txn-recovery-environment" port="4712"/>
                  <socket-binding name="txn-status-manager" port="4713"/>
                  <outbound-socket-binding name="mail-smtp">
                      <remote-destination host="localhost" port="25"/>
                  </outbound-socket-binding>
              </socket-binding-group>
              <socket-binding-group name="full-sockets" default-interface="public">
                  <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
                  <socket-binding name="http" port="${jboss.http.port:8080}"/>
                  <socket-binding name="https" port="${jboss.https.port:8443}"/>
                  <socket-binding name="iiop" interface="unsecure" port="3528"/>
                  <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
                  <socket-binding name="txn-recovery-environment" port="4712"/>
                  <socket-binding name="txn-status-manager" port="4713"/>
                  <outbound-socket-binding name="mail-smtp">
                      <remote-destination host="localhost" port="25"/>
                  </outbound-socket-binding>
              </socket-binding-group>
              <socket-binding-group name="full-ha-sockets" default-interface="public">
                  <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
                  <socket-binding name="http" port="${jboss.http.port:8080}"/>
                  <socket-binding name="https" port="${jboss.https.port:8443}"/>
                  <socket-binding name="iiop" interface="unsecure" port="3528"/>
                  <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/>
                  <socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
                  <socket-binding name="jgroups-tcp" port="7600"/>
                  <socket-binding name="jgroups-tcp-fd" port="57600"/>
                  <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
                  <socket-binding name="jgroups-udp-fd" port="54200"/>
                  <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
                  <socket-binding name="txn-recovery-environment" port="4712"/>
                  <socket-binding name="txn-status-manager" port="4713"/>
                  <outbound-socket-binding name="mail-smtp">
                      <remote-destination host="localhost" port="25"/>
                  </outbound-socket-binding>
              </socket-binding-group>
          </socket-binding-groups>

          <deployments>
              <deployment name="http-1.0-SNAPSHOT.war" runtime-name="http-1.0-SNAPSHOT.war">
                  <content sha1="d13e69ef88d1fb825c03ef171feb672c7ddf3dd9"/>
              </deployment>
          </deployments>

          <server-groups>
              <server-group name="main-server-group" profile="full-ha">
                  <jvm name="default">
                      <heap size="64m" max-size="512m"/>
                  </jvm>
                  <socket-binding-group ref="full-ha-sockets"/>
                  <deployments>
                      <deployment name="http-1.0-SNAPSHOT.war" runtime-name="http-1.0-SNAPSHOT.war"/>
                  </deployments>
              </server-group>
              <server-group name="other-server-group" profile="full-ha">
                  <jvm name="default">
                      <heap size="64m" max-size="512m"/>
                  </jvm>
                  <socket-binding-group ref="full-ha-sockets"/>
                  <deployments>
                      <deployment name="http-1.0-SNAPSHOT.war" runtime-name="http-1.0-SNAPSHOT.war"/>
                  </deployments>
              </server-group>
          </server-groups>

      </domain>

       

       

      Below is my host.xml from VM1 (so called domain controller and Master)

      <?xml version='1.0' encoding='UTF-8'?>

      <host name="master" xmlns="urn:jboss:domain:3.0">
          <extensions>
              <extension module="org.jboss.as.jmx"/>
          </extensions>

          <management>
              <security-realms>
                  <security-realm name="ManagementRealm">
                      <authentication>
                          <local default-user="$local" skip-group-loading="true"/>
                          <properties path="mgmt-users.properties" relative-to="jboss.domain.config.dir"/>
                      </authentication>
                      <authorization map-groups-to-roles="false">
                          <properties path="mgmt-groups.properties" relative-to="jboss.domain.config.dir"/>
                      </authorization>
                  </security-realm>
                  <security-realm name="ApplicationRealm">
                      <authentication>
                          <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                          <properties path="application-users.properties" relative-to="jboss.domain.config.dir"/>
                      </authentication>
                      <authorization>
                          <properties path="application-roles.properties" relative-to="jboss.domain.config.dir"/>
                      </authorization>
                  </security-realm>
              </security-realms>
              <audit-log>
                  <formatters>
                      <json-formatter name="json-formatter"/>
                  </formatters>
                  <handlers>
                      <file-handler name="host-file" formatter="json-formatter" relative-to="jboss.domain.data.dir" path="audit-log.log"/>
                      <file-handler name="server-file" formatter="json-formatter" relative-to="jboss.server.data.dir" path="audit-log.log"/>
                  </handlers>
                  <logger log-boot="true" log-read-only="false" enabled="false">
                      <handlers>
                          <handler name="host-file"/>
                      </handlers>
                  </logger>
                  <server-logger log-boot="true" log-read-only="false" enabled="false">
                      <handlers>
                          <handler name="server-file"/>
                      </handlers>
                  </server-logger>
              </audit-log>
              <management-interfaces>
                  <native-interface security-realm="ManagementRealm">
                      <socket interface="management" port="${jboss.management.native.port:9999}"/>
                  </native-interface>
                  <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
                      <socket interface="management" port="${jboss.management.http.port:9990}"/>
                  </http-interface>
              </management-interfaces>
          </management>

          <domain-controller>
              <local/>
              <!-- Alternative remote domain controller configuration with a host and port -->
              <!-- <remote protocol="remote" host="${jboss.domain.master.address}" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/> -->
          </domain-controller>

          <interfaces>
              <interface name="management">
                  <inet-address value="${jboss.bind.address.management:10.39.196.76}"/>
              </interface>
              <interface name="public">
                  <inet-address value="${jboss.bind.address:10.39.196.76}"/>
              </interface>
              <interface name="unsecure">
                  <!-- Used for IIOP sockets in the standard configuration.
                       To secure JacORB you need to setup SSL -->
                  <inet-address value="${jboss.bind.address.unsecure:10.39.196.76}"/>
              </interface>
          </interfaces>

          <jvms>
              <jvm name="default">
                  <heap size="64m" max-size="256m"/>
                  <permgen size="256m" max-size="256m"/>
                  <jvm-options>
                      <option value="-server"/>
                  </jvm-options>
              </jvm>
          </jvms>

          <servers>
              <server name="server-one" group="main-server-group">
                  <!-- Remote JPDA debugging for a specific server
                  <jvm name="default">
                    <jvm-options>
                      <option value="-agentlib:jdwp=transport=dt_socket,address=8787,server=y,suspend=n"/>
                    </jvm-options>
                 </jvm>
                 -->
              </server>
              <server name="server-two" group="other-server-group" auto-start="false">
                  <!-- server-two avoids port conflicts by incrementing the ports in
                       the default socket-group declared in the server-group -->
                  <socket-bindings port-offset="150"/>
              </server>
          </servers>

          <profile>
              <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                  <expose-resolved-model/>
                  <expose-expression-model/>
                  <remoting-connector/>
              </subsystem>
          </profile>
      </host>

       

      Below is my host-slave.xml from VM2

      <?xml version='1.0' encoding='UTF-8'?>

      <host name="opsd2" xmlns="urn:jboss:domain:3.0">
          <extensions>
              <extension module="org.jboss.as.jmx"/>
          </extensions>

          <management>
              <security-realms>
                  <security-realm name="ManagementRealm">
                      <server-identities>
                          <!-- Replace this with either a base64 password of your own, or use a vault with a vault expression -->
                          <secret value="cGFzc3cwcmQh"/>
                      </server-identities>

                      <authentication>
                          <properties path="mgmt-users.properties" relative-to="jboss.domain.config.dir"/>
                      </authentication>
                      <authorization map-groups-to-roles="false">
                          <properties path="mgmt-groups.properties" relative-to="jboss.domain.config.dir"/>
                      </authorization>
                  </security-realm>
                  <security-realm name="ApplicationRealm">
                      <authentication>
                          <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                          <properties path="application-users.properties" relative-to="jboss.domain.config.dir"/>
                      </authentication>
                      <authorization>
                          <properties path="application-roles.properties" relative-to="jboss.domain.config.dir"/>
                      </authorization>
                  </security-realm>
              </security-realms>
              <audit-log>
                  <formatters>
                      <json-formatter name="json-formatter"/>
                  </formatters>
                  <handlers>
                      <file-handler name="host-file" formatter="json-formatter" relative-to="jboss.domain.data.dir" path="audit-log.log"/>
                      <file-handler name="server-file" formatter="json-formatter" relative-to="jboss.server.data.dir" path="audit-log.log"/>
                  </handlers>
                  <logger log-boot="true" log-read-only="false" enabled="false">
                      <handlers>
                          <handler name="host-file"/>
                      </handlers>
                  </logger>
                  <server-logger log-boot="true" log-read-only="false" enabled="false">
                      <handlers>
                          <handler name="server-file"/>
                      </handlers>
                  </server-logger>
              </audit-log>
              <management-interfaces>
                  <native-interface security-realm="ManagementRealm">
                      <socket interface="management" port="${jboss.management.native.port:9999}"/>
                  </native-interface>
              </management-interfaces>
          </management>

          <domain-controller>
              <remote protocol="remote" host="10.39.196.76" port="9999" username="opsd2" security-realm="ManagementRealm"  />
          </domain-controller>

          <interfaces>
              <interface name="management">
                  <inet-address value="${jboss.bind.address.management:10.39.196.45}"/>
              </interface>
              <interface name="public">
                  <inet-address value="${jboss.bind.address:10.39.196.45}"/>
              </interface>
              <interface name="unsecure">
                  <!-- Used for IIOP sockets in the standard configuration.
                       To secure JacORB you need to setup SSL -->
                  <inet-address value="${jboss.bind.address.unsecure:10.39.196.45}"/>
              </interface>
          </interfaces>

          <jvms>
              <jvm name="default">
                  <heap size="64m" max-size="256m"/>
                  <permgen size="256m" max-size="256m"/>
                  <jvm-options>
                      <option value="-server"/>
                  </jvm-options>
              </jvm>
          </jvms>

          <servers>
              <server name="server-one" group="main-server-group">
              </server>

              <server name="server-two" group="other-server-group">
                  <!-- server-two avoids port conflicts by incrementing the ports in
                       the default socket-group declared in the server-group -->
                  <socket-bindings port-offset="150"/>
              </server>
          </servers>

          <profile>
              <subsystem xmlns="urn:jboss:domain:jmx:1.3">
                  <expose-resolved-model/>
                  <expose-expression-model/>
                  <remoting-connector/>
              </subsystem>
          </profile>
      </host>

       

      Let me know if you need any of my configuration files

       

      Also I am seeing below message in server log

      [Server:server-one] 10:19:59,053 INFO  [org.infinispan.CLUSTER] (ServerService Thread Pool -- 83) ISPN000310: Starting cluster-wide rebalance for cache http-1.0-SNAPSHOT.war, topology CacheTopology{id=1, rebalanceId=1, currentCH=DefaultConsistentHash{ns=80, owners = (1)[master:server-one: 80+0]}, pendingCH=DefaultConsistentHash{ns=80, owners = (2)[master:server-one: 40+40, master:server-one: 40+40]}, unionCH=null, actualMembers=[opsd2:server-one, master:server-one]}

      [Server:server-one] 10:19:59,113 INFO  [org.infinispan.CLUSTER] (transport-thread--p2-t24) ISPN000336: Finished cluster-wide rebalance for cache http-1.0-SNAPSHOT.war, topology id = 1

      [Server:server-one] 10:19:59,122 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 83) WFLYCLINF0002: Started http-1.0-SNAPSHOT.war cache from web container

      I have confirm that my web application has <distributable/> tag in web.xml

       

      Any help will be of great use.

        • 1. Re: Session Not Replicating in WildFly 9.0.2 Cluster
          Wolf-Dieter Fink Master

          Looks like your configuration starts two servers on each controller (server-one and server-two) with a different server-group but the same deployment, profile and socket binding.

          This mean you should have 4 servers in your cluster.

           

          From the config it looks ok to me, but how do you access the servers to check the replication?

          If you access host1:8080 for the session and then host2:8080 and expect the same session this will not work. You need to have a LB in front of which manage the sessionId, so the sessionId is the same if one server failed.