<?xml version="1.0" ?>

<feature-spec xmlns="urn:jboss:galleon:feature-spec:2.0" name="subsystem.messaging-activemq.server" stability="default">
    <annotation name="jboss-op">
        <elem name="name" value="add"/>
        <elem name="op-params" value="address-queue-scan-period,async-connection-execution-enabled,connection-ttl-override,id-cache-size,incoming-interceptors,outgoing-interceptors,page-max-concurrent-io,persist-delivery-count-before-delivery,persist-id-cache,persistence-enabled,scheduled-thread-pool-max-size,thread-pool-max-size,wild-card-routing-enabled,cluster-credential-reference,cluster-password,cluster-user,critical-analyzer-check-period,critical-analyzer-enabled,critical-analyzer-policy,critical-analyzer-timeout,memory-measure-interval,memory-warning-threshold,perf-blast-pages,run-sync-speed-test,server-dump-interval,create-bindings-dir,create-journal-dir,disk-scan-period,global-max-disk-usage,global-max-memory-size,journal-bindings-table,journal-buffer-size,journal-buffer-timeout,journal-compact-min-files,journal-compact-percentage,journal-database,journal-datasource,journal-file-open-timeout,journal-file-size,journal-jdbc-lock-expiration,journal-jdbc-lock-renew-period,journal-jdbc-network-timeout,journal-jms-bindings-table,journal-large-messages-table,journal-max-attic-files,journal-max-io,journal-messages-table,journal-min-files,journal-node-manager-store-table,journal-page-store-table,journal-pool-files,journal-sync-non-transactional,journal-sync-transactional,journal-type,log-journal-write-rate,jmx-domain,jmx-management-enabled,management-address,management-notification-address,message-expiry-scan-period,message-expiry-thread-priority,network-check-list,network-check-nic,network-check-period,network-check-ping-command,network-check-ping6-command,network-check-timeout,network-check-url-list,elytron-domain,override-in-vm-security,security-domain,security-enabled,security-invalidation-interval,message-counter-max-day-history,message-counter-sample-period,statistics-enabled,transaction-timeout,transaction-timeout-scan-period"/>
        <elem name="addr-params" value="profile,subsystem,server"/>
    </annotation>
    <annotation name="feature-branch">
        <elem name="id" value="subsystem.messaging-activemq"/>
    </annotation>
    <provides>
        <capability name="$profile.org.wildfly.messaging.activemq.server.$server"/>
    </provides>
    <requires>
        <capability name="$profile.org.wildfly.data-source.$journal-datasource" optional="true"/>
        <capability name="$profile.org.wildfly.security.security-domain.$elytron-domain" optional="true"/>
        <capability name="$profile.org.wildfly.security.legacy-security-domain.$security-domain" optional="true"/>
    </requires>
    <refs>
        <ref feature="subsystem.messaging-activemq"/>
        <ref feature="profile" nillable="true"/>
    </refs>
    <params>
        <param name="global-max-memory-size" nillable="true" stability="default"/>
        <param name="journal-min-files" nillable="true" stability="default"/>
        <param name="address-queue-scan-period" nillable="true" stability="default"/>
        <param name="security-invalidation-interval" nillable="true" stability="default"/>
        <param name="management-notification-address" nillable="true" stability="default"/>
        <param name="journal-buffer-size" nillable="true" stability="default"/>
        <param name="journal-large-messages-table" nillable="true" stability="default"/>
        <param name="network-check-timeout" nillable="true" stability="default"/>
        <param name="outgoing-interceptors" nillable="true" stability="default"/>
        <param name="subsystem" feature-id="true" default="messaging-activemq"/>
        <param name="critical-analyzer-enabled" nillable="true" stability="default"/>
        <param name="critical-analyzer-timeout" nillable="true" stability="default"/>
        <param name="override-in-vm-security" nillable="true" stability="default"/>
        <param name="cluster-credential-reference" nillable="true" stability="default"/>
        <param name="statistics-enabled" nillable="true" stability="default"/>
        <param name="id-cache-size" nillable="true" stability="default"/>
        <param name="network-check-url-list" nillable="true" stability="default"/>
        <param name="connection-ttl-override" nillable="true" stability="default"/>
        <param name="create-journal-dir" nillable="true" stability="default"/>
        <param name="server-dump-interval" nillable="true" stability="default"/>
        <param name="async-connection-execution-enabled" nillable="true" stability="default"/>
        <param name="incoming-interceptors" nillable="true" stability="default"/>
        <param name="disk-scan-period" nillable="true" stability="default"/>
        <param name="profile" feature-id="true" default="GLN_UNDEFINED"/>
        <param name="wild-card-routing-enabled" nillable="true" stability="default"/>
        <param name="cluster-user" nillable="true" stability="default"/>
        <param name="journal-max-io" nillable="true" stability="default"/>
        <param name="journal-node-manager-store-table" nillable="true" stability="default"/>
        <param name="log-journal-write-rate" nillable="true" stability="default"/>
        <param name="journal-type" nillable="true" stability="default"/>
        <param name="message-expiry-thread-priority" nillable="true" stability="default"/>
        <param name="elytron-domain" nillable="true" stability="default"/>
        <param name="journal-messages-table" nillable="true" stability="default"/>
        <param name="security-domain" nillable="true" stability="default"/>
        <param name="message-counter-sample-period" nillable="true" stability="default"/>
        <param name="journal-file-open-timeout" nillable="true" stability="default"/>
        <param name="persist-id-cache" nillable="true" stability="default"/>
        <param name="journal-database" nillable="true" stability="default"/>
        <param name="transaction-timeout" nillable="true" stability="default"/>
        <param name="persistence-enabled" nillable="true" stability="default"/>
        <param name="run-sync-speed-test" nillable="true" stability="default"/>
        <param name="journal-buffer-timeout" nillable="true" stability="default"/>
        <param name="journal-jdbc-lock-renew-period" nillable="true" stability="default"/>
        <param name="scheduled-thread-pool-max-size" nillable="true" stability="default"/>
        <param name="journal-compact-min-files" nillable="true" stability="default"/>
        <param name="management-address" nillable="true" stability="default"/>
        <param name="cluster-password" nillable="true" stability="default"/>
        <param name="global-max-disk-usage" nillable="true" stability="default"/>
        <param name="journal-sync-transactional" nillable="true" stability="default"/>
        <param name="server" feature-id="true"/>
        <param name="persist-delivery-count-before-delivery" nillable="true" stability="default"/>
        <param name="journal-bindings-table" nillable="true" stability="default"/>
        <param name="journal-jdbc-network-timeout" nillable="true" stability="default"/>
        <param name="critical-analyzer-check-period" nillable="true" stability="default"/>
        <param name="network-check-nic" nillable="true" stability="default"/>
        <param name="thread-pool-max-size" nillable="true" stability="default"/>
        <param name="network-check-ping6-command" nillable="true" stability="default"/>
        <param name="journal-sync-non-transactional" nillable="true" stability="default"/>
        <param name="message-expiry-scan-period" nillable="true" stability="default"/>
        <param name="memory-measure-interval" nillable="true" stability="default"/>
        <param name="create-bindings-dir" nillable="true" stability="default"/>
        <param name="journal-compact-percentage" nillable="true" stability="default"/>
        <param name="network-check-list" nillable="true" stability="default"/>
        <param name="journal-page-store-table" nillable="true" stability="default"/>
        <param name="network-check-ping-command" nillable="true" stability="default"/>
        <param name="security-enabled" nillable="true" stability="default"/>
        <param name="journal-datasource" nillable="true" stability="default"/>
        <param name="journal-jms-bindings-table" nillable="true" stability="default"/>
        <param name="network-check-period" nillable="true" stability="default"/>
        <param name="perf-blast-pages" nillable="true" stability="default"/>
        <param name="journal-jdbc-lock-expiration" nillable="true" stability="default"/>
        <param name="journal-pool-files" nillable="true" stability="default"/>
        <param name="journal-max-attic-files" nillable="true" stability="default"/>
        <param name="jmx-management-enabled" nillable="true" stability="default"/>
        <param name="memory-warning-threshold" nillable="true" stability="default"/>
        <param name="critical-analyzer-policy" nillable="true" stability="default"/>
        <param name="journal-file-size" nillable="true" stability="default"/>
        <param name="page-max-concurrent-io" nillable="true" stability="default"/>
        <param name="jmx-domain" nillable="true" stability="default"/>
        <param name="transaction-timeout-scan-period" nillable="true" stability="default"/>
        <param name="message-counter-max-day-history" nillable="true" stability="default"/>
    </params>
    <packages>
        <package name="org.apache.activemq.artemis"/>
        <package name="org.apache.activemq.artemis.journal"/>
    </packages>
</feature-spec>