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

<domain xmlns="urn:jboss:domain:1.5">
    <extensions>
        <extension module="org.jboss.as.clustering.infinispan"/>
        <extension module="org.jboss.as.clustering.jgroups"/>
        <extension module="org.jboss.as.cmp"/>
        <extension module="org.jboss.as.configadmin"/>
        <extension module="org.jboss.as.connector"/>
        <extension module="org.jboss.as.ee"/>
        <extension module="org.jboss.as.ejb3"/>
        <extension module="org.jboss.as.jacorb"/>
        <extension module="org.jboss.as.jaxr"/>
        <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.threads"/>
        <extension module="org.jboss.as.transactions"/>
        <extension module="org.jboss.as.web"/>
        <extension module="org.jboss.as.webservices"/>
        <extension module="org.jboss.as.weld"/>
        <extension module="org.modeshape"/>
    </extensions>
    <system-properties>
        <!-- IPv4 is not required, but setting this helps avoid unintended use of IPv6 -->
        <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:1.2">
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                    </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="FILE"/>
                    </handlers>
                </root-logger>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:configadmin:1.0"/>
            <subsystem xmlns="urn:jboss:domain:datasources:1.1">
                <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</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:1.1">
                <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ejb3:1.4">
                <session-bean>
                    <stateless>
                        <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                    </stateless>
                    <stateful default-access-timeout="5000" 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" aliases="NoPassivationCache"/>
                    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
                </caches>
                <passivation-stores>
                    <file-passivation-store name="file"/>
                </passivation-stores>
                <async thread-pool-name="default"/>
                <timer-service thread-pool-name="default">
                    <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>
                </timer-service>
                <remote connector-ref="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"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:infinispan:1.4">
                <cache-container name="web" aliases="standard-session-cache" default-cache="local-web" module="org.jboss.as.clustering.web.infinispan">
                    <local-cache name="local-web" batching="true">
                        <file-store passivation="false" purge="false"/>
                    </local-cache>
                </cache-container>
                <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
                    <local-cache name="entity">
                        <transaction mode="NON_XA"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="local-query">
                        <transaction mode="NONE"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="timestamps">
                        <transaction mode="NONE"/>
                        <eviction strategy="NONE"/>
                    </local-cache>
                </cache-container>
                <!-- Each ModeShape repository uses one (or more) cache in a cache container. We define a single container
                named "modeshape" (other names require specifying the container names in each repository configuration,
                with a "sample" cache (each repository assumes the cache name matches the repository name). -->
                <cache-container name="modeshape" default-cache="sample" module="org.modeshape">
                    <local-cache name="sample">
                        <!-- ModeShape requires transactions -->
                        <transaction mode="NON_XA"/>
                        <!-- Use a cache with file-backed write-through storage. File-backed storage is simple, but not necessarily the fastest. -->
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/store/sample" passivation="false" purge="false"/>
                    </local-cache>
                    <local-cache name="artifacts">
                        <!-- ModeShape requires transactions -->
                        <transaction mode="NON_XA"/>
                        <!-- Use a cache with file-backed write-through storage. File-backed storage is simple, but not necessarily the fastest. -->
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/store/artifacts" passivation="false" purge="false"/>
                    </local-cache>
                </cache-container>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:modeshape:1.0">
                <!--The list of web applications that is packaged inside the kit and should be deployed when the subsystem starts up-->
                <webapp name="modeshape-rest.war"/>
                <webapp name="modeshape-webdav.war"/>
		<webapp name="modeshape-explorer.war"/>

                <!-- A sample repository that uses the "sample" cache in the "modeshape" container. All content, binary values,
                     and indexes are stored within the server's data directory. This is the simplest way to configure a repository
                     that uses defaults for everything; feel free to change and specify other configuration options.  -->
                <repository name="sample"/>
                <!-- A second sample repository that defines additional non-default components such as extra workspaces and sequencers. -->
                <repository name="artifacts">
                    <indexing rebuild-upon-startup="never"/>
                    <!-- Define 3 workspaces to exist upon startup -->
                    <workspaces default-workspace="default" allow-workspace-creation="false">
                        <workspace name="default">
                            <initial-content>initial-content-default.xml</initial-content>
                        </workspace>
                        <workspace name="other"/>
                        <workspace name="extra"/>
                    </workspaces>
                    <!--
                    Define a bunch of sequencers. Carefully note the differences in the path expressions; some sequencers
                    do not generate a node to represent a file, while other sequencers (e.g., XML, XSD, WSDL, ZIP) always
                    generate a node based upon the filename.
                    The sequencer names are unique identifiers within the configuration, and should not contain spaces.
                    Also, some of the sequencer configurations use the fully-qualified classname, while other use the
                    short alias (which only works for the sequencer provided by ModeShape). -->
                    <sequencers>
                        <sequencer name="delimited-text-sequencer" classname="org.modeshape.sequencer.text.DelimitedTextSequencer"
                                   module="org.modeshape.sequencer.text" splitPattern=",">
                            <path-expression>/files(//*.csv[*])/jcr:content[@jcr:data] => /derived/text/delimited/$1</path-expression>
                        </sequencer>
                        <sequencer name="fixed-width-text-sequencer"
                                   classname="org.modeshape.sequencer.text.FixedWidthTextSequencer"
                                   module="org.modeshape.sequencer.text" commentMarker="#">
                            <path-expression>/files(//*.txt[*])/jcr:content[@jcr:data] => /derived/text/fixedWidth/$1</path-expression>
                        </sequencer>
                        <sequencer name="ddl-sequencer" classname="org.modeshape.sequencer.ddl.DdlSequencer"
                                   module="org.modeshape.sequencer.ddl">
                            <path-expression>/files(//*.ddl[*])/jcr:content[@jcr:data] => /derived/ddl/$1</path-expression>
                        </sequencer>
                        <!--
                            For the java & class sequencer we need to explicitly define the module, as it does not map 1-1 to the classname
                        -->
                        <sequencer name="java-source-sequencer" classname="org.modeshape.sequencer.javafile.JavaFileSequencer"
                                   module="org.modeshape.sequencer.java">
                            <path-expression>/files//(*.java[*])/jcr:content[@jcr:data] => /derived/java</path-expression>
                        </sequencer>
                        <sequencer name="java-class-sequencer" classname="org.modeshape.sequencer.classfile.ClassFileSequencer"
                                   module="org.modeshape.sequencer.java">
                            <path-expression>/files//(*.class[*])/jcr:content[@jcr:data] => /derived/class</path-expression>
                        </sequencer>
                        <sequencer name="cnd-sequencer" classname="cnd" module="org.modeshape">
                            <path-expression>default:/files(//*.cnd[*])/jcr:content[@jcr:data] => /derived/cnd/$1</path-expression>
                        </sequencer>
                        <sequencer name="msoffice-sequencer" classname="msoffice" module="org.modeshape.sequencer.msoffice">
                            <path-expression>/files(//*.(xls|ppt|doc)[*])/jcr:content[@jcr:data] => /derived/msoffice/$1</path-expression>
                        </sequencer>
                        <sequencer name="teiid-model-sequencer" classname="model" module="org.modeshape.sequencer.teiid">
                            <path-expression>/files(//*.xmi[*])/jcr:content[@jcr:data] => /derived/teiid/models/$1</path-expression>
                        </sequencer>
                        <sequencer name="teiid-vdb-sequencer" classname="vdb" module="org.modeshape.sequencer.teiid">
                            <path-expression>/files(//*.vdb[*])/jcr:content[@jcr:data] => /derived/teiid/vdbs/$1</path-expression>
                        </sequencer>
                        <!--
                         The XSD, XML, WSDL, and ZIP sequencers all generate a node for the input documents, and so we don't want the filename to
                         be included in the output path. Therefore, only the relative path under '/files' and above '*.xsd' (or '*.wsdl'
                         or '*.xml') is captured in the input path. -->
                        <sequencer name="xsd-sequencer" classname="xsd" module="org.modeshape.sequencer.xsd">
                            <path-expression>/files(//*).xsd[*]/jcr:content[@jcr:data] => /derived/xsd/$1</path-expression>
                        </sequencer>
                        <sequencer name="wsdl-sequencer" classname="wsdl" module="org.modeshape.sequencer.wsdl">
                            <path-expression>/files(//)*.wsdl[*]/jcr:content[@jcr:data] => /derived/wsdl/$1</path-expression>
                        </sequencer>
                        <sequencer name="xml-sequencer" classname="xml" module="org.modeshape.sequencer.xml">
                            <path-expression>/files(//)*.xml[*]/jcr:content[@jcr:data] => /derived/xml/$1</path-expression>
                        </sequencer>
                        <sequencer name="zip-sequencer" classname="zip" module="org.modeshape.sequencer.zip">
                            <path-expression>/files(//*.zip[*])/jcr:content[@jcr:data] => /derived/zip/$1</path-expression>
                        </sequencer>
                        <sequencer name="image-sequencer" classname="image" module="org.modeshape.sequencer.image">
                            <path-expression>/files(//*.(png|jpg|gif)[*])/jcr:content[@jcr:data] => /derived/image/$1</path-expression>
                        </sequencer>
                        <sequencer name="mp3-sequencer" classname="mp3" module="org.modeshape.sequencer.mp3">
                            <path-expression>/files(//*.mp3[*])/jcr:content[@jcr:data] => /derived/mp3/$1</path-expression>
                        </sequencer>
                    </sequencers>
                    <text-extractors>
                        <text-extractor name="tika-extractor" classname="tika" module="org.modeshape.extractor.tika"/>
                    </text-extractors>
                </repository>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jca:1.1">
                <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.2">
                <expose-resolved-model/>
                <expose-expression-model/>
                <!--<remoting-connector use-management-endpoint="false"/>-->
            </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:1.1">
                <mail-session jndi-name="java:jboss/mail/Default">
                    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                </mail-session>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:naming:1.3">
                <remote-naming/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
            <subsystem xmlns="urn:jboss:domain:remoting:1.1">
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
            <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-domain name="modeshape-security" cache-type="default">
                        <authentication>
                            <login-module code="UsersRoles" flag="required">
                                <module-option name="usersProperties" value="${jboss.server.config.dir}/modeshape-users.properties"/>
                                <module-option name="rolesProperties" value="${jboss.server.config.dir}/modeshape-roles.properties"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                </security-domains>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
            <subsystem xmlns="urn:jboss:domain:transactions:1.3">
                <core-environment>
                    <process-id>
                        <uuid/>
                    </process-id>
                </core-environment>
                <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                <coordinator-environment default-timeout="300"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:webservices:1.2">
                <modify-wsdl-address>true</modify-wsdl-address>
                <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:1.0"/>
        </profile>
        <profile name="ha">
            <subsystem xmlns="urn:jboss:domain:logging:1.2">
                <console-handler name="CONSOLE">
                    <level name="INFO"/>
                    <formatter>
                        <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                    </formatter>
                </console-handler>
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                    </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>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:configadmin:1.0"/>
            <subsystem xmlns="urn:jboss:domain:datasources:1.1">
                <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</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:1.1">
                <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ejb3:1.4">
                <session-bean>
                    <stateless>
                        <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                    </stateless>
                    <stateful default-access-timeout="5000" cache-ref="simple" clustered-cache-ref="clustered"/>
                    <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" aliases="NoPassivationCache"/>
                    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
                    <cache name="clustered" passivation-store-ref="infinispan" aliases="StatefulTreeCache"/>
                </caches>
                <passivation-stores>
                    <file-passivation-store name="file"/>
                    <cluster-passivation-store name="infinispan" cache-container="ejb"/>
                </passivation-stores>
                <async thread-pool-name="default"/>
                <timer-service thread-pool-name="default">
                    <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>
                </timer-service>
                <remote connector-ref="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"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:infinispan:1.4">
                <cache-container name="singleton" aliases="cluster ha-partition" default-cache="default">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="default" mode="SYNC" batching="true">
                        <locking isolation="REPEATABLE_READ"/>
                    </replicated-cache>
                </cache-container>
                <cache-container name="web" aliases="standard-session-cache" default-cache="repl" module="org.jboss.as.clustering.web.infinispan">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="repl" mode="ASYNC" batching="true">
                        <file-store/>
                    </replicated-cache>
                    <replicated-cache name="sso" mode="SYNC" batching="true"/>
                    <distributed-cache name="dist" mode="ASYNC" batching="true" l1-lifespan="0">
                        <file-store/>
                    </distributed-cache>
                </cache-container>
                <cache-container name="ejb" aliases="sfsb sfsb-cache" default-cache="repl" module="org.jboss.as.clustering.ejb3.infinispan">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="repl" mode="ASYNC" batching="true">
                        <eviction strategy="LRU" max-entries="10000"/>
                        <file-store/>
                    </replicated-cache>
                    <!--
                      ~  Clustered cache used internally by EJB subsytem for managing the client-mapping(s) of
                      ~                 the socketbinding referenced by the EJB remoting connector
                      -->
                    <replicated-cache name="remote-connector-client-mappings" mode="SYNC" batching="true"/>
                    <distributed-cache name="dist" mode="ASYNC" batching="true" l1-lifespan="0">
                        <eviction strategy="LRU" max-entries="10000"/>
                        <file-store/>
                    </distributed-cache>
                </cache-container>
                <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
                    <transport lock-timeout="60000"/>
                    <local-cache name="local-query">
                        <transaction mode="NONE"/>
                        <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">
                        <transaction mode="NONE"/>
                        <eviction strategy="NONE"/>
                    </replicated-cache>
                </cache-container>
                <cache-container name="modeshape" aliases="modeshape modeshape-cluster" default-cache="sample" module="org.modeshape">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="sample" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/store/sample" passivation="false" purge="false"/>
                    </replicated-cache>
                    <replicated-cache name="artifacts" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/store/artifacts" passivation="false" purge="false"/>
                    </replicated-cache>
                </cache-container>
                <cache-container name="modeshape-binary-cache-container" aliases="modeshape-binary-cache" default-cache="binary-fs" module="org.modeshape">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="sample-binary-fs" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/binary-store/sample-binary-data-${jboss.node.name}" passivation="false" purge="false"/>
                    </replicated-cache>
                    <replicated-cache name="sample-binary-fs-meta" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/binary-store/sample-binary-metadata-${jboss.node.name}" passivation="false" purge="false"/>
                    </replicated-cache>
                    <replicated-cache name="artifacts-binary-fs" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/binary-store/artifacts-binary-data-${jboss.node.name}" passivation="false" purge="false"/>
                    </replicated-cache>
                    <replicated-cache name="artifacts-binary-fs-meta" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/binary-store/artifacts-binary-metadata-${jboss.node.name}" passivation="false" purge="false"/>
                    </replicated-cache>
                </cache-container>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:modeshape:1.0">
                <!--The list of web applications that is packaged inside the kit and should be deployed when the subsystem starts up-->
                <webapp name="modeshape-rest.war"/>
                <webapp name="modeshape-webdav.war"/>

                <!-- A sample repository that uses the "sample" cache in the "modeshape" container. All content, binary values,
                     and indexes are stored within the server's data directory. This is the simplest way to configure a repository
                     that uses defaults for everything; feel free to change and specify other configuration options.  -->
                <repository name="sample" cache-name="sample" cache-container="modeshape" cluster-name="modeshape-sample-cluster" cluster-stack="tcp">
                    <indexing rebuild-upon-startup="if_missing"/>
                    <local-file-index-storage path="modeshape/indexes/sample-${jboss.node.name}"/>
                    <cache-binary-storage data-cache-name="sample-binary-fs" metadata-cache-name="sample-binary-fs-meta" cache-container="modeshape-binary-cache-container"/>
                </repository>
                <!-- A second sample repository that defines additional non-default components such as extra workspaces and sequencers. -->
                <repository name="artifacts" cache-name="artifacts" cache-container="modeshape" cluster-name="modeshape-artifacts-cluster" cluster-stack="tcp">
                    <local-file-index-storage path="modeshape/indexes/artifacts-${jboss.node.name}"/>
                    <cache-binary-storage data-cache-name="artifacts-binary-fs" metadata-cache-name="artifacts-binary-fs-meta" cache-container="modeshape-binary-cache-container"/>
                    <indexing rebuild-upon-startup="if_missing"/>
                    <!-- Define 3 workspaces to exist upon startup -->
                    <workspaces default-workspace="default" allow-workspace-creation="false">
                        <workspace name="default">
                            <initial-content>initial-content-default.xml</initial-content>
                        </workspace>
                        <workspace name="other"/>
                        <workspace name="extra"/>
                    </workspaces>
                    <!--
                    Define a bunch of sequencers. Carefully note the differences in the path expressions; some sequencers
                    do not generate a node to represent a file, while other sequencers (e.g., XML, XSD, WSDL, ZIP) always
                    generate a node based upon the filename.
                    The sequencer names are unique identifiers within the configuration, and should not contain spaces.
                    Also, some of the sequencer configurations use the fully-qualified classname, while other use the
                    short alias (which only works for the sequencer provided by ModeShape). -->
                    <sequencers>
                        <sequencer name="delimited-text-sequencer" classname="org.modeshape.sequencer.text.DelimitedTextSequencer"
                                   module="org.modeshape.sequencer.text" splitPattern=",">
                            <path-expression>/files(//*.csv[*])/jcr:content[@jcr:data] => /derived/text/delimited/$1</path-expression>
                        </sequencer>
                        <sequencer name="fixed-width-text-sequencer"
                                   classname="org.modeshape.sequencer.text.FixedWidthTextSequencer"
                                   module="org.modeshape.sequencer.text" commentMarker="#">
                            <path-expression>/files(//*.txt[*])/jcr:content[@jcr:data] => /derived/text/fixedWidth/$1</path-expression>
                        </sequencer>
                        <sequencer name="ddl-sequencer" classname="org.modeshape.sequencer.ddl.DdlSequencer"
                                   module="org.modeshape.sequencer.ddl">
                            <path-expression>/files(//*.ddl[*])/jcr:content[@jcr:data] => /derived/ddl/$1</path-expression>
                        </sequencer>
                        <!--
                            For the java & class sequencer we need to explicitly define the module, as it does not map 1-1 to the classname
                        -->
                        <sequencer name="java-source-sequencer" classname="org.modeshape.sequencer.javafile.JavaFileSequencer"
                                   module="org.modeshape.sequencer.java">
                            <path-expression>/files//(*.java[*])/jcr:content[@jcr:data] => /derived/java</path-expression>
                        </sequencer>
                        <sequencer name="java-class-sequencer" classname="org.modeshape.sequencer.classfile.ClassFileSequencer"
                                   module="org.modeshape.sequencer.java">
                            <path-expression>/files//(*.class[*])/jcr:content[@jcr:data] => /derived/class</path-expression>
                        </sequencer>
                        <sequencer name="cnd-sequencer" classname="cnd" module="org.modeshape">
                            <path-expression>default:/files(//*.cnd[*])/jcr:content[@jcr:data] => /derived/cnd/$1</path-expression>
                        </sequencer>
                        <sequencer name="msoffice-sequencer" classname="msoffice" module="org.modeshape.sequencer.msoffice">
                            <path-expression>/files(//*.(xls|ppt|doc)[*])/jcr:content[@jcr:data] => /derived/msoffice/$1</path-expression>
                        </sequencer>
                        <sequencer name="teiid-model-sequencer" classname="model" module="org.modeshape.sequencer.teiid">
                            <path-expression>/files(//*.xmi[*])/jcr:content[@jcr:data] => /derived/teiid/models/$1</path-expression>
                        </sequencer>
                        <sequencer name="teiid-vdb-sequencer" classname="vdb" module="org.modeshape.sequencer.teiid">
                            <path-expression>/files(//*.vdb[*])/jcr:content[@jcr:data] => /derived/teiid/vdbs/$1</path-expression>
                        </sequencer>
                        <!--
                         The XSD, XML, WSDL, and ZIP sequencers all generate a node for the input documents, and so we don't want the filename to
                         be included in the output path. Therefore, only the relative path under '/files' and above '*.xsd' (or '*.wsdl'
                         or '*.xml') is captured in the input path. -->
                        <sequencer name="xsd-sequencer" classname="xsd" module="org.modeshape.sequencer.xsd">
                            <path-expression>/files(//*).xsd[*]/jcr:content[@jcr:data] => /derived/xsd/$1</path-expression>
                        </sequencer>
                        <sequencer name="wsdl-sequencer" classname="wsdl" module="org.modeshape.sequencer.wsdl">
                            <path-expression>/files(//)*.wsdl[*]/jcr:content[@jcr:data] => /derived/wsdl/$1</path-expression>
                        </sequencer>
                        <sequencer name="xml-sequencer" classname="xml" module="org.modeshape.sequencer.xml">
                            <path-expression>/files(//)*.xml[*]/jcr:content[@jcr:data] => /derived/xml/$1</path-expression>
                        </sequencer>
                        <sequencer name="zip-sequencer" classname="zip" module="org.modeshape.sequencer.zip">
                            <path-expression>/files(//*.zip[*])/jcr:content[@jcr:data] => /derived/zip/$1</path-expression>
                        </sequencer>
                        <sequencer name="image-sequencer" classname="image" module="org.modeshape.sequencer.image">
                            <path-expression>/files(//*.(png|jpg|gif)[*])/jcr:content[@jcr:data] => /derived/image/$1</path-expression>
                        </sequencer>
                        <sequencer name="mp3-sequencer" classname="mp3" module="org.modeshape.sequencer.mp3">
                            <path-expression>/files(//*.mp3[*])/jcr:content[@jcr:data] => /derived/mp3/$1</path-expression>
                        </sequencer>
                    </sequencers>
                    <text-extractors>
                        <text-extractor name="tika-extractor" classname="tika" module="org.modeshape.extractor.tika"/>
                    </text-extractors>
                </repository>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jca:1.1">
                <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:1.1" default-stack="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"/>
                    <protocol type="VERIFY_SUSPECT"/>
                    <protocol type="pbcast.NAKACK"/>
                    <protocol type="UNICAST2"/>
                    <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="MERGE2"/>
                    <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
                    <protocol type="FD"/>
                    <protocol type="VERIFY_SUSPECT"/>
                    <protocol type="pbcast.NAKACK"/>
                    <protocol type="UNICAST2"/>
                    <protocol type="pbcast.STABLE"/>
                    <protocol type="pbcast.GMS"/>
                    <protocol type="UFC"/>
                    <protocol type="MFC"/>
                    <protocol type="FRAG2"/>
                    <protocol type="RSVP"/>
                </stack>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jmx:1.2">
                <expose-resolved-model/>
                <expose-expression-model/>
                <!--<remoting-connector use-management-endpoint="false"/>-->
            </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:1.1">
                <mail-session jndi-name="java:jboss/mail/Default">
                    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                </mail-session>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:modcluster:1.1">
                <mod-cluster-config advertise-socket="modcluster" connector="ajp">
                    <dynamic-load-provider>
                        <load-metric type="busyness"/>
                    </dynamic-load-provider>
                </mod-cluster-config>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:naming:1.3">
                <remote-naming/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
            <subsystem xmlns="urn:jboss:domain:remoting:1.1">
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
            <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-domain name="modeshape-security" cache-type="default">
                        <authentication>
                            <login-module code="UsersRoles" flag="required">
                                <module-option name="usersProperties" value="${jboss.server.config.dir}/modeshape-users.properties"/>
                                <module-option name="rolesProperties" value="${jboss.server.config.dir}/modeshape-roles.properties"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                </security-domains>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
            <subsystem xmlns="urn:jboss:domain:transactions:1.3">
                <core-environment>
                    <process-id>
                        <uuid/>
                    </process-id>
                </core-environment>
                <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                <coordinator-environment default-timeout="300"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:webservices:1.2">
                <modify-wsdl-address>true</modify-wsdl-address>
                <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:1.0"/>
        </profile>
        <profile name="full">
            <subsystem xmlns="urn:jboss:domain:logging:1.2">
                <console-handler name="CONSOLE">
                    <level name="INFO"/>
                    <formatter>
                        <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                    </formatter>
                </console-handler>
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                    </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>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:cmp:1.1"/>
            <subsystem xmlns="urn:jboss:domain:configadmin:1.0"/>
            <subsystem xmlns="urn:jboss:domain:datasources:1.1">
                <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</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:1.1">
                <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ejb3:1.4">
                <session-bean>
                    <stateless>
                        <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                    </stateless>
                    <stateful default-access-timeout="5000" cache-ref="simple"/>
                    <singleton default-access-timeout="5000"/>
                </session-bean>
                <mdb>
                    <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
                    <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" aliases="NoPassivationCache"/>
                    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
                </caches>
                <passivation-stores>
                    <file-passivation-store name="file"/>
                </passivation-stores>
                <async thread-pool-name="default"/>
                <timer-service thread-pool-name="default">
                    <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>
                </timer-service>
                <remote connector-ref="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"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:infinispan:1.4">
                <cache-container name="web" aliases="standard-session-cache" default-cache="local-web" module="org.jboss.as.clustering.web.infinispan">
                    <local-cache name="local-web" batching="true">
                        <file-store passivation="false" purge="false"/>
                    </local-cache>
                </cache-container>
                <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
                    <local-cache name="entity">
                        <transaction mode="NON_XA"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="local-query">
                        <transaction mode="NONE"/>
                        <eviction strategy="LRU" max-entries="10000"/>
                        <expiration max-idle="100000"/>
                    </local-cache>
                    <local-cache name="timestamps">
                        <transaction mode="NONE"/>
                        <eviction strategy="NONE"/>
                    </local-cache>
                </cache-container>
                <!-- Each ModeShape repository uses one (or more) cache in a cache container. We define a single container
                named "modeshape" (other names require specifying the container names in each repository configuration,
                with a "sample" cache (each repository assumes the cache name matches the repository name). -->
                <cache-container name="modeshape" default-cache="sample" module="org.modeshape">
                    <local-cache name="sample">
                        <!-- ModeShape requires transactions -->
                        <transaction mode="NON_XA"/>
                        <!-- Use a cache with file-backed write-through storage. File-backed storage is simple, but not necessarily the fastest. -->
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/store/sample" passivation="false" purge="false"/>
                    </local-cache>
                    <local-cache name="artifacts">
                        <!-- ModeShape requires transactions -->
                        <transaction mode="NON_XA"/>
                        <!-- Use a cache with file-backed write-through storage. File-backed storage is simple, but not necessarily the fastest. -->
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/store/artifacts" passivation="false" purge="false"/>
                    </local-cache>
                </cache-container>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:modeshape:1.0">
                <!--The list of web applications that is packaged inside the kit and should be deployed when the subsystem starts up-->
                <webapp name="modeshape-rest.war"/>
                <webapp name="modeshape-webdav.war"/>

                <!-- A sample repository that uses the "sample" cache in the "modeshape" container. All content, binary values,
                     and indexes are stored within the server's data directory. This is the simplest way to configure a repository
                     that uses defaults for everything; feel free to change and specify other configuration options.  -->
                <repository name="sample"/>
                <!-- A second sample repository that defines additional non-default components such as extra workspaces and sequencers. -->
                <repository name="artifacts">
                    <indexing rebuild-upon-startup="never"/>
                    <!-- Define 3 workspaces to exist upon startup -->
                    <workspaces default-workspace="default" allow-workspace-creation="false">
                        <workspace name="default">
                            <initial-content>initial-content-default.xml</initial-content>
                        </workspace>
                        <workspace name="other"/>
                        <workspace name="extra"/>
                    </workspaces>
                    <!--
                    Define a bunch of sequencers. Carefully note the differences in the path expressions; some sequencers
                    do not generate a node to represent a file, while other sequencers (e.g., XML, XSD, WSDL, ZIP) always
                    generate a node based upon the filename.
                    The sequencer names are unique identifiers within the configuration, and should not contain spaces.
                    Also, some of the sequencer configurations use the fully-qualified classname, while other use the
                    short alias (which only works for the sequencer provided by ModeShape). -->
                    <sequencers>
                        <sequencer name="delimited-text-sequencer" classname="org.modeshape.sequencer.text.DelimitedTextSequencer"
                                   module="org.modeshape.sequencer.text" splitPattern=",">
                            <path-expression>/files(//*.csv[*])/jcr:content[@jcr:data] => /derived/text/delimited/$1</path-expression>
                        </sequencer>
                        <sequencer name="fixed-width-text-sequencer"
                                   classname="org.modeshape.sequencer.text.FixedWidthTextSequencer"
                                   module="org.modeshape.sequencer.text" commentMarker="#">
                            <path-expression>/files(//*.txt[*])/jcr:content[@jcr:data] => /derived/text/fixedWidth/$1</path-expression>
                        </sequencer>
                        <sequencer name="ddl-sequencer" classname="org.modeshape.sequencer.ddl.DdlSequencer"
                                   module="org.modeshape.sequencer.ddl">
                            <path-expression>/files(//*.ddl[*])/jcr:content[@jcr:data] => /derived/ddl/$1</path-expression>
                        </sequencer>
                        <!--
                            For the java & class sequencer we need to explicitly define the module, as it does not map 1-1 to the classname
                        -->
                        <sequencer name="java-source-sequencer" classname="org.modeshape.sequencer.javafile.JavaFileSequencer"
                                   module="org.modeshape.sequencer.java">
                            <path-expression>/files//(*.java[*])/jcr:content[@jcr:data] => /derived/java</path-expression>
                        </sequencer>
                        <sequencer name="java-class-sequencer" classname="org.modeshape.sequencer.classfile.ClassFileSequencer"
                                   module="org.modeshape.sequencer.java">
                            <path-expression>/files//(*.class[*])/jcr:content[@jcr:data] => /derived/class</path-expression>
                        </sequencer>
                        <sequencer name="cnd-sequencer" classname="cnd" module="org.modeshape">
                            <path-expression>default:/files(//*.cnd[*])/jcr:content[@jcr:data] => /derived/cnd/$1</path-expression>
                        </sequencer>
                        <sequencer name="msoffice-sequencer" classname="msoffice" module="org.modeshape.sequencer.msoffice">
                            <path-expression>/files(//*.(xls|ppt|doc)[*])/jcr:content[@jcr:data] => /derived/msoffice/$1</path-expression>
                        </sequencer>
                        <sequencer name="teiid-model-sequencer" classname="model" module="org.modeshape.sequencer.teiid">
                            <path-expression>/files(//*.xmi[*])/jcr:content[@jcr:data] => /derived/teiid/models/$1</path-expression>
                        </sequencer>
                        <sequencer name="teiid-vdb-sequencer" classname="vdb" module="org.modeshape.sequencer.teiid">
                            <path-expression>/files(//*.vdb[*])/jcr:content[@jcr:data] => /derived/teiid/vdbs/$1</path-expression>
                        </sequencer>
                        <!--
                         The XSD, XML, WSDL, and ZIP sequencers all generate a node for the input documents, and so we don't want the filename to
                         be included in the output path. Therefore, only the relative path under '/files' and above '*.xsd' (or '*.wsdl'
                         or '*.xml') is captured in the input path. -->
                        <sequencer name="xsd-sequencer" classname="xsd" module="org.modeshape.sequencer.xsd">
                            <path-expression>/files(//*).xsd[*]/jcr:content[@jcr:data] => /derived/xsd/$1</path-expression>
                        </sequencer>
                        <sequencer name="wsdl-sequencer" classname="wsdl" module="org.modeshape.sequencer.wsdl">
                            <path-expression>/files(//)*.wsdl[*]/jcr:content[@jcr:data] => /derived/wsdl/$1</path-expression>
                        </sequencer>
                        <sequencer name="xml-sequencer" classname="xml" module="org.modeshape.sequencer.xml">
                            <path-expression>/files(//)*.xml[*]/jcr:content[@jcr:data] => /derived/xml/$1</path-expression>
                        </sequencer>
                        <sequencer name="zip-sequencer" classname="zip" module="org.modeshape.sequencer.zip">
                            <path-expression>/files(//*.zip[*])/jcr:content[@jcr:data] => /derived/zip/$1</path-expression>
                        </sequencer>
                        <sequencer name="image-sequencer" classname="image" module="org.modeshape.sequencer.image">
                            <path-expression>/files(//*.(png|jpg|gif)[*])/jcr:content[@jcr:data] => /derived/image/$1</path-expression>
                        </sequencer>
                        <sequencer name="mp3-sequencer" classname="mp3" module="org.modeshape.sequencer.mp3">
                            <path-expression>/files(//*.mp3[*])/jcr:content[@jcr:data] => /derived/mp3/$1</path-expression>
                        </sequencer>
                    </sequencers>
                    <text-extractors>
                        <text-extractor name="tika-extractor" classname="tika" module="org.modeshape.extractor.tika"/>
                    </text-extractors>
                </repository>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jacorb:1.3">
                <orb socket-binding="jacorb" ssl-socket-binding="jacorb-ssl">
                    <initializers transactions="spec" security="identity"/>
                </orb>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxr:1.1">
                <connection-factory jndi-name="java:jboss/jaxr/ConnectionFactory"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jca:1.1">
                <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.2">
                <expose-resolved-model/>
                <expose-expression-model/>
                <!--<remoting-connector use-management-endpoint="false"/>-->
            </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:1.1">
                <mail-session jndi-name="java:jboss/mail/Default">
                    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                </mail-session>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:messaging:1.3">
                <hornetq-server>
                    <persistence-enabled>true</persistence-enabled>
                    <journal-type>NIO</journal-type>
                    <journal-min-files>2</journal-min-files>
                    <connectors>
                        <netty-connector name="netty" socket-binding="messaging"/>
                        <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                        </netty-connector>
                        <in-vm-connector name="in-vm" server-id="0"/>
                    </connectors>
                    <acceptors>
                        <netty-acceptor name="netty" socket-binding="messaging"/>
                        <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                            <param key="direct-deliver" value="false"/>
                        </netty-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>
                        <!--default for catch all-->
                        <address-setting match="#">
                            <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                            <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                            <redelivery-delay>0</redelivery-delay>
                            <max-size-bytes>10485760</max-size-bytes>
                            <address-full-policy>BLOCK</address-full-policy>
                            <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="netty"/>
                            </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"/>
                            </entries>
                        </pooled-connection-factory>
                    </jms-connection-factories>
                </hornetq-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:naming:1.3">
                <remote-naming/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
            <subsystem xmlns="urn:jboss:domain:remoting:1.1">
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
            <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-domain name="modeshape-security" cache-type="default">
                        <authentication>
                            <login-module code="UsersRoles" flag="required">
                                <module-option name="usersProperties" value="${jboss.server.config.dir}/modeshape-users.properties"/>
                                <module-option name="rolesProperties" value="${jboss.server.config.dir}/modeshape-roles.properties"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                </security-domains>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
            <subsystem xmlns="urn:jboss:domain:transactions:1.3">
                <core-environment>
                    <process-id>
                        <uuid/>
                    </process-id>
                </core-environment>
                <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                <coordinator-environment default-timeout="300"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:webservices:1.2">
                <modify-wsdl-address>true</modify-wsdl-address>
                <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:1.0"/>
        </profile>
        <profile name="full-ha">
            <subsystem xmlns="urn:jboss:domain:logging:1.2">
                <console-handler name="CONSOLE">
                    <level name="INFO"/>
                    <formatter>
                        <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                    </formatter>
                </console-handler>
                <periodic-rotating-file-handler name="FILE" autoflush="true">
                    <formatter>
                        <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
                    </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>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:cmp:1.1"/>
            <subsystem xmlns="urn:jboss:domain:configadmin:1.0"/>
            <subsystem xmlns="urn:jboss:domain:datasources:1.1">
                <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</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:1.1">
                <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement>
                <jboss-descriptor-property-replacement>true</jboss-descriptor-property-replacement>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:ejb3:1.4">
                <session-bean>
                    <stateless>
                        <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/>
                    </stateless>
                    <stateful default-access-timeout="5000" cache-ref="simple" clustered-cache-ref="clustered"/>
                    <singleton default-access-timeout="5000"/>
                </session-bean>
                <mdb>
                    <resource-adapter-ref resource-adapter-name="hornetq-ra"/>
                    <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" aliases="NoPassivationCache"/>
                    <cache name="passivating" passivation-store-ref="file" aliases="SimpleStatefulCache"/>
                    <cache name="clustered" passivation-store-ref="infinispan" aliases="StatefulTreeCache"/>
                </caches>
                <passivation-stores>
                    <file-passivation-store name="file"/>
                    <cluster-passivation-store name="infinispan" cache-container="ejb"/>
                </passivation-stores>
                <async thread-pool-name="default"/>
                <timer-service thread-pool-name="default">
                    <data-store path="timer-service-data" relative-to="jboss.server.data.dir"/>
                </timer-service>
                <remote connector-ref="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"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:infinispan:1.4">
                <cache-container name="singleton" aliases="cluster ha-partition" default-cache="default">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="default" mode="SYNC" batching="true">
                        <locking isolation="REPEATABLE_READ"/>
                    </replicated-cache>
                </cache-container>
                <cache-container name="web" aliases="standard-session-cache" default-cache="repl" module="org.jboss.as.clustering.web.infinispan">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="repl" mode="ASYNC" batching="true">
                        <file-store/>
                    </replicated-cache>
                    <replicated-cache name="sso" mode="SYNC" batching="true"/>
                    <distributed-cache name="dist" mode="ASYNC" batching="true" l1-lifespan="0">
                        <file-store/>
                    </distributed-cache>
                </cache-container>
                <cache-container name="ejb" aliases="sfsb sfsb-cache" default-cache="repl" module="org.jboss.as.clustering.ejb3.infinispan">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="repl" mode="ASYNC" batching="true">
                        <eviction strategy="LRU" max-entries="10000"/>
                        <file-store/>
                    </replicated-cache>
                    <!--
                      ~  Clustered cache used internally by EJB subsytem for managing the client-mapping(s) of
                      ~                 the socketbinding referenced by the EJB remoting connector
                      -->
                    <replicated-cache name="remote-connector-client-mappings" mode="SYNC" batching="true"/>
                    <distributed-cache name="dist" mode="ASYNC" batching="true" l1-lifespan="0">
                        <eviction strategy="LRU" max-entries="10000"/>
                        <file-store/>
                    </distributed-cache>
                </cache-container>
                <cache-container name="hibernate" default-cache="local-query" module="org.jboss.as.jpa.hibernate:4">
                    <transport lock-timeout="60000"/>
                    <local-cache name="local-query">
                        <transaction mode="NONE"/>
                        <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">
                        <transaction mode="NONE"/>
                        <eviction strategy="NONE"/>
                    </replicated-cache>
                </cache-container>
                <cache-container name="modeshape" aliases="modeshape modeshape-cluster" default-cache="sample" module="org.modeshape">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="sample" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/store/sample" passivation="false" purge="false"/>
                    </replicated-cache>
                    <replicated-cache name="artifacts" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/store/artifacts" passivation="false" purge="false"/>
                    </replicated-cache>
                </cache-container>
                <cache-container name="modeshape-binary-cache-container" aliases="modeshape-binary-cache" default-cache="binary-fs" module="org.modeshape">
                    <transport lock-timeout="60000"/>
                    <replicated-cache name="sample-binary-fs" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/binary-store/sample-binary-data-${jboss.node.name}" passivation="false" purge="false"/>
                    </replicated-cache>
                    <replicated-cache name="sample-binary-fs-meta" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/binary-store/sample-binary-metadata-${jboss.node.name}" passivation="false" purge="false"/>
                    </replicated-cache>
                    <replicated-cache name="artifacts-binary-fs" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/binary-store/artifacts-binary-data-${jboss.node.name}" passivation="false" purge="false"/>
                    </replicated-cache>
                    <replicated-cache name="artifacts-binary-fs-meta" mode="SYNC" batching="true">
                        <transaction mode="NON_XA"/>
                        <file-store relative-to="jboss.server.data.dir" path="modeshape/binary-store/artifacts-binary-metadata-${jboss.node.name}" passivation="false" purge="false"/>
                    </replicated-cache>
                </cache-container>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:modeshape:1.0">
                <!--The list of web applications that is packaged inside the kit and should be deployed when the subsystem starts up-->
                <webapp name="modeshape-rest.war"/>
                <webapp name="modeshape-webdav.war"/>

                <!-- A sample repository that uses the "sample" cache in the "modeshape" container. All content, binary values,
                     and indexes are stored within the server's data directory. This is the simplest way to configure a repository
                     that uses defaults for everything; feel free to change and specify other configuration options.  -->
                <repository name="sample" cache-name="sample" cache-container="modeshape" cluster-name="modeshape-sample-cluster" cluster-stack="tcp">
                    <indexing rebuild-upon-startup="if_missing"/>
                    <local-file-index-storage path="modeshape/indexes/sample-${jboss.node.name}"/>
                    <cache-binary-storage data-cache-name="sample-binary-fs" metadata-cache-name="sample-binary-fs-meta" cache-container="modeshape-binary-cache-container"/>
                </repository>
                <!-- A second sample repository that defines additional non-default components such as extra workspaces and sequencers. -->
                <repository name="artifacts" cache-name="artifacts" cache-container="modeshape" cluster-name="modeshape-artifacts-cluster" cluster-stack="tcp">
                    <local-file-index-storage path="modeshape/indexes/artifacts-${jboss.node.name}"/>
                    <cache-binary-storage data-cache-name="artifacts-binary-fs" metadata-cache-name="artifacts-binary-fs-meta" cache-container="modeshape-binary-cache-container"/>
                    <indexing rebuild-upon-startup="if_missing"/>
                    <!-- Define 3 workspaces to exist upon startup -->
                    <workspaces default-workspace="default" allow-workspace-creation="false">
                        <workspace name="default">
                            <initial-content>initial-content-default.xml</initial-content>
                        </workspace>
                        <workspace name="other"/>
                        <workspace name="extra"/>
                    </workspaces>
                    <!--
                    Define a bunch of sequencers. Carefully note the differences in the path expressions; some sequencers
                    do not generate a node to represent a file, while other sequencers (e.g., XML, XSD, WSDL, ZIP) always
                    generate a node based upon the filename.
                    The sequencer names are unique identifiers within the configuration, and should not contain spaces.
                    Also, some of the sequencer configurations use the fully-qualified classname, while other use the
                    short alias (which only works for the sequencer provided by ModeShape). -->
                    <sequencers>
                        <sequencer name="delimited-text-sequencer" classname="org.modeshape.sequencer.text.DelimitedTextSequencer"
                                   module="org.modeshape.sequencer.text" splitPattern=",">
                            <path-expression>/files(//*.csv[*])/jcr:content[@jcr:data] => /derived/text/delimited/$1</path-expression>
                        </sequencer>
                        <sequencer name="fixed-width-text-sequencer"
                                   classname="org.modeshape.sequencer.text.FixedWidthTextSequencer"
                                   module="org.modeshape.sequencer.text" commentMarker="#">
                            <path-expression>/files(//*.txt[*])/jcr:content[@jcr:data] => /derived/text/fixedWidth/$1</path-expression>
                        </sequencer>
                        <sequencer name="ddl-sequencer" classname="org.modeshape.sequencer.ddl.DdlSequencer"
                                   module="org.modeshape.sequencer.ddl">
                            <path-expression>/files(//*.ddl[*])/jcr:content[@jcr:data] => /derived/ddl/$1</path-expression>
                        </sequencer>
                        <!--
                            For the java & class sequencer we need to explicitly define the module, as it does not map 1-1 to the classname
                        -->
                        <sequencer name="java-source-sequencer" classname="org.modeshape.sequencer.javafile.JavaFileSequencer"
                                   module="org.modeshape.sequencer.java">
                            <path-expression>/files//(*.java[*])/jcr:content[@jcr:data] => /derived/java</path-expression>
                        </sequencer>
                        <sequencer name="java-class-sequencer" classname="org.modeshape.sequencer.classfile.ClassFileSequencer"
                                   module="org.modeshape.sequencer.java">
                            <path-expression>/files//(*.class[*])/jcr:content[@jcr:data] => /derived/class</path-expression>
                        </sequencer>
                        <sequencer name="cnd-sequencer" classname="cnd" module="org.modeshape">
                            <path-expression>default:/files(//*.cnd[*])/jcr:content[@jcr:data] => /derived/cnd/$1</path-expression>
                        </sequencer>
                        <sequencer name="msoffice-sequencer" classname="msoffice" module="org.modeshape.sequencer.msoffice">
                            <path-expression>/files(//*.(xls|ppt|doc)[*])/jcr:content[@jcr:data] => /derived/msoffice/$1</path-expression>
                        </sequencer>
                        <sequencer name="teiid-model-sequencer" classname="model" module="org.modeshape.sequencer.teiid">
                            <path-expression>/files(//*.xmi[*])/jcr:content[@jcr:data] => /derived/teiid/models/$1</path-expression>
                        </sequencer>
                        <sequencer name="teiid-vdb-sequencer" classname="vdb" module="org.modeshape.sequencer.teiid">
                            <path-expression>/files(//*.vdb[*])/jcr:content[@jcr:data] => /derived/teiid/vdbs/$1</path-expression>
                        </sequencer>
                        <!--
                         The XSD, XML, WSDL, and ZIP sequencers all generate a node for the input documents, and so we don't want the filename to
                         be included in the output path. Therefore, only the relative path under '/files' and above '*.xsd' (or '*.wsdl'
                         or '*.xml') is captured in the input path. -->
                        <sequencer name="xsd-sequencer" classname="xsd" module="org.modeshape.sequencer.xsd">
                            <path-expression>/files(//*).xsd[*]/jcr:content[@jcr:data] => /derived/xsd/$1</path-expression>
                        </sequencer>
                        <sequencer name="wsdl-sequencer" classname="wsdl" module="org.modeshape.sequencer.wsdl">
                            <path-expression>/files(//)*.wsdl[*]/jcr:content[@jcr:data] => /derived/wsdl/$1</path-expression>
                        </sequencer>
                        <sequencer name="xml-sequencer" classname="xml" module="org.modeshape.sequencer.xml">
                            <path-expression>/files(//)*.xml[*]/jcr:content[@jcr:data] => /derived/xml/$1</path-expression>
                        </sequencer>
                        <sequencer name="zip-sequencer" classname="zip" module="org.modeshape.sequencer.zip">
                            <path-expression>/files(//*.zip[*])/jcr:content[@jcr:data] => /derived/zip/$1</path-expression>
                        </sequencer>
                        <sequencer name="image-sequencer" classname="image" module="org.modeshape.sequencer.image">
                            <path-expression>/files(//*.(png|jpg|gif)[*])/jcr:content[@jcr:data] => /derived/image/$1</path-expression>
                        </sequencer>
                        <sequencer name="mp3-sequencer" classname="mp3" module="org.modeshape.sequencer.mp3">
                            <path-expression>/files(//*.mp3[*])/jcr:content[@jcr:data] => /derived/mp3/$1</path-expression>
                        </sequencer>
                    </sequencers>
                    <text-extractors>
                        <text-extractor name="tika-extractor" classname="tika" module="org.modeshape.extractor.tika"/>
                    </text-extractors>
                </repository>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jacorb:1.3">
                <orb socket-binding="jacorb" ssl-socket-binding="jacorb-ssl">
                    <initializers transactions="spec" security="identity"/>
                </orb>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxr:1.1">
                <connection-factory jndi-name="java:jboss/jaxr/ConnectionFactory"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
            <subsystem xmlns="urn:jboss:domain:jca:1.1">
                <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:1.1" default-stack="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"/>
                    <protocol type="VERIFY_SUSPECT"/>
                    <protocol type="pbcast.NAKACK"/>
                    <protocol type="UNICAST2"/>
                    <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="MERGE2"/>
                    <protocol type="FD_SOCK" socket-binding="jgroups-tcp-fd"/>
                    <protocol type="FD"/>
                    <protocol type="VERIFY_SUSPECT"/>
                    <protocol type="pbcast.NAKACK"/>
                    <protocol type="UNICAST2"/>
                    <protocol type="pbcast.STABLE"/>
                    <protocol type="pbcast.GMS"/>
                    <protocol type="UFC"/>
                    <protocol type="MFC"/>
                    <protocol type="FRAG2"/>
                    <protocol type="RSVP"/>
                </stack>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:jmx:1.2">
                <expose-resolved-model/>
                <expose-expression-model/>
                <!--<remoting-connector use-management-endpoint="false"/>-->
            </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:1.1">
                <mail-session jndi-name="java:jboss/mail/Default">
                    <smtp-server outbound-socket-binding-ref="mail-smtp"/>
                </mail-session>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:messaging:1.3">
                <hornetq-server>
                    <cluster-password>${jboss.messaging.cluster.password:CHANGE ME!!}</cluster-password>
                    <persistence-enabled>true</persistence-enabled>
                    <journal-type>NIO</journal-type>
                    <journal-min-files>2</journal-min-files>
                    <connectors>
                        <netty-connector name="netty" socket-binding="messaging"/>
                        <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                        </netty-connector>
                        <in-vm-connector name="in-vm" server-id="0"/>
                    </connectors>
                    <acceptors>
                        <netty-acceptor name="netty" socket-binding="messaging"/>
                        <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
                            <param key="batch-delay" value="50"/>
                            <param key="direct-deliver" value="false"/>
                        </netty-acceptor>
                        <in-vm-acceptor name="in-vm" server-id="0"/>
                    </acceptors>
                    <broadcast-groups>
                        <broadcast-group name="bg-group1">
                            <socket-binding>messaging-group</socket-binding>
                            <broadcast-period>5000</broadcast-period>
                            <connector-ref>netty</connector-ref>
                        </broadcast-group>
                    </broadcast-groups>
                    <discovery-groups>
                        <discovery-group name="dg-group1">
                            <socket-binding>messaging-group</socket-binding>
                            <refresh-timeout>10000</refresh-timeout>
                        </discovery-group>
                    </discovery-groups>
                    <cluster-connections>
                        <cluster-connection name="my-cluster">
                            <address>jms</address>
                            <connector-ref>netty</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>
                        <!--default for catch all-->
                        <address-setting match="#">
                            <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                            <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                            <redelivery-delay>0</redelivery-delay>
                            <redistribution-delay>1000</redistribution-delay>
                            <max-size-bytes>10485760</max-size-bytes>
                            <address-full-policy>BLOCK</address-full-policy>
                            <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="netty"/>
                            </connectors>
                            <entries>
                                <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
                            </entries>
                            <ha>true</ha>
                            <block-on-acknowledge>true</block-on-acknowledge>
                            <retry-interval>1000</retry-interval>
                            <retry-interval-multiplier>1.0</retry-interval-multiplier>
                            <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"/>
                            </entries>
                        </pooled-connection-factory>
                    </jms-connection-factories>
                </hornetq-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:modcluster:1.1">
                <mod-cluster-config advertise-socket="modcluster" connector="ajp">
                    <dynamic-load-provider>
                        <load-metric type="busyness"/>
                    </dynamic-load-provider>
                </mod-cluster-config>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:naming:1.3">
                <remote-naming/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
            <subsystem xmlns="urn:jboss:domain:remoting:1.1">
                <connector name="remoting-connector" socket-binding="remoting" security-realm="ApplicationRealm"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1"/>
            <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-domain name="modeshape-security" cache-type="default">
                        <authentication>
                            <login-module code="UsersRoles" flag="required">
                                <module-option name="usersProperties" value="${jboss.server.config.dir}/modeshape-users.properties"/>
                                <module-option name="rolesProperties" value="${jboss.server.config.dir}/modeshape-roles.properties"/>
                            </login-module>
                        </authentication>
                    </security-domain>
                </security-domains>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:threads:1.1"/>
            <subsystem xmlns="urn:jboss:domain:transactions:1.3">
                <core-environment>
                    <process-id>
                        <uuid/>
                    </process-id>
                </core-environment>
                <recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
                <coordinator-environment default-timeout="300"/>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:web:1.4" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
            </subsystem>
            <subsystem xmlns="urn:jboss:domain:webservices:1.2">
                <modify-wsdl-address>true</modify-wsdl-address>
                <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:1.0"/>
        </profile>
    </profiles>
    <!--
      ~
      ~          Named interfaces that can be referenced elsewhere in the configuration. The configuration
      ~          for how to associate these logical names with an actual network interface can either
      ~          be specified here or can be declared on a per-host basis in the equivalent element in host.xml.
      ~
      ~          These default configurations require the binding specification to be done in host.xml.
      ~
      -->
    <interfaces>
        <interface name="management"/>
        <interface name="public"/>
        <interface name="unsecure"/>
    </interfaces>
    <socket-binding-groups>
        <socket-binding-group name="standard-sockets" default-interface="public">
            <!-- Needed for server groups using the 'default' profile  -->
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="https" port="8443"/>
            <socket-binding name="remoting" port="4447"/>
            <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">
            <!-- Needed for server groups using the 'ha' profile  -->
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="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="remoting" port="4447"/>
            <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">
            <!-- Needed for server groups using the 'full' profile  -->
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="https" port="8443"/>
            <socket-binding name="jacorb" interface="unsecure" port="3528"/>
            <socket-binding name="jacorb-ssl" interface="unsecure" port="3529"/>
            <socket-binding name="messaging" port="5445"/>
            <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
            <socket-binding name="messaging-throughput" port="5455"/>
            <socket-binding name="remoting" port="4447"/>
            <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">
            <!-- Needed for server groups using the 'full-ha' profile  -->
            <socket-binding name="ajp" port="8009"/>
            <socket-binding name="http" port="8080"/>
            <socket-binding name="https" port="8443"/>
            <socket-binding name="jacorb" interface="unsecure" port="3528"/>
            <socket-binding name="jacorb-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="messaging" port="5445"/>
            <socket-binding name="messaging-group" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9876}"/>
            <socket-binding name="messaging-throughput" port="5455"/>
            <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
            <socket-binding name="remoting" port="4447"/>
            <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>
    <server-groups>
        <server-group name="main-server-group" profile="full">
            <jvm name="default">
                <heap size="1303m" max-size="1303m"/>
                <permgen max-size="256m"/>
            </jvm>
            <socket-binding-group ref="full-sockets"/>
        </server-group>
        <server-group name="other-server-group" profile="full-ha">
            <jvm name="default">
                <heap size="1303m" max-size="1303m"/>
                <permgen max-size="256m"/>
            </jvm>
            <socket-binding-group ref="full-ha-sockets"/>
        </server-group>
    </server-groups>
</domain>
