
<!DOCTYPE HTML>
<html lang="" >
    <head>
        <title>Using the Server · ActiveMQ Artemis Documentation</title>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.1.1">
        
        
        
    
    <link rel="stylesheet" href="gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="using-jms.html" />
    
    
    <link rel="prev" href="architecture.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="./">
            
                <a href="./">
            
                    
                    Introduction
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="notice.html">
            
                <a href="notice.html">
            
                    
                    Legal Notice
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="preface.html">
            
                <a href="preface.html">
            
                    
                    Preface
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="project-info.html">
            
                <a href="project-info.html">
            
                    
                    Project Info
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="messaging-concepts.html">
            
                <a href="messaging-concepts.html">
            
                    
                    Messaging Concepts
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="architecture.html">
            
                <a href="architecture.html">
            
                    
                    Architecture
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="1.7" data-path="using-server.html">
            
                <a href="using-server.html">
            
                    
                    Using the Server
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="using-jms.html">
            
                <a href="using-jms.html">
            
                    
                    Using JMS
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9" data-path="using-core.html">
            
                <a href="using-core.html">
            
                    
                    Using Core
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10" data-path="jms-core-mapping.html">
            
                <a href="jms-core-mapping.html">
            
                    
                    Mapping JMS Concepts to the Core API
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.11" data-path="client-classpath.html">
            
                <a href="client-classpath.html">
            
                    
                    The Client Classpath
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.12" data-path="examples.html">
            
                <a href="examples.html">
            
                    
                    Examples
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.13" data-path="wildcard-routing.html">
            
                <a href="wildcard-routing.html">
            
                    
                    Routing Messages With Wild Cards
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.14" data-path="wildcard-syntax.html">
            
                <a href="wildcard-syntax.html">
            
                    
                    Understanding the Apache ActiveMQ Artemis Wildcard Syntax
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.15" data-path="filter-expressions.html">
            
                <a href="filter-expressions.html">
            
                    
                    Filter Expressions
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.16" data-path="persistence.html">
            
                <a href="persistence.html">
            
                    
                    Persistence
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.17" data-path="configuring-transports.html">
            
                <a href="configuring-transports.html">
            
                    
                    Configuring Transports
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.18" data-path="config-reload.html">
            
                <a href="config-reload.html">
            
                    
                    Configuration Reload
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.19" data-path="connection-ttl.html">
            
                <a href="connection-ttl.html">
            
                    
                    Detecting Dead Connections
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.20" data-path="slow-consumers.html">
            
                <a href="slow-consumers.html">
            
                    
                    Detecting Slow Consumers
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.21" data-path="network-isolation.html">
            
                <a href="network-isolation.html">
            
                    
                    Avoiding Network Isolation
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.22" data-path="transaction-config.html">
            
                <a href="transaction-config.html">
            
                    
                    Resource Manager Configuration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.23" data-path="flow-control.html">
            
                <a href="flow-control.html">
            
                    
                    Flow Control
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.24" data-path="send-guarantees.html">
            
                <a href="send-guarantees.html">
            
                    
                    Guarantees of sends and commits
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.25" data-path="undelivered-messages.html">
            
                <a href="undelivered-messages.html">
            
                    
                    Message Redelivery and Undelivered Messages
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.26" data-path="message-expiry.html">
            
                <a href="message-expiry.html">
            
                    
                    Message Expiry
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.27" data-path="large-messages.html">
            
                <a href="large-messages.html">
            
                    
                    Large Messages
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.28" data-path="paging.html">
            
                <a href="paging.html">
            
                    
                    Paging
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.29" data-path="queue-attributes.html">
            
                <a href="queue-attributes.html">
            
                    
                    Queue Attributes
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.30" data-path="scheduled-messages.html">
            
                <a href="scheduled-messages.html">
            
                    
                    Scheduled Messages
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.31" data-path="last-value-queues.html">
            
                <a href="last-value-queues.html">
            
                    
                    Last-Value Queues
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.32" data-path="message-grouping.html">
            
                <a href="message-grouping.html">
            
                    
                    Message Grouping
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.33" data-path="pre-acknowledge.html">
            
                <a href="pre-acknowledge.html">
            
                    
                    Extra Acknowledge Modes
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.34" data-path="management.html">
            
                <a href="management.html">
            
                    
                    Management
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.35" data-path="security.html">
            
                <a href="security.html">
            
                    
                    Security
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.36" data-path="resource-limits.html">
            
                <a href="resource-limits.html">
            
                    
                    Resource Limits
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.37" data-path="jms-bridge.html">
            
                <a href="jms-bridge.html">
            
                    
                    The JMS Bridge
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.38" data-path="client-reconnection.html">
            
                <a href="client-reconnection.html">
            
                    
                    Client Reconnection and Session Reattachment
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.39" data-path="diverts.html">
            
                <a href="diverts.html">
            
                    
                    Diverting and Splitting Message Flows
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.40" data-path="core-bridges.html">
            
                <a href="core-bridges.html">
            
                    
                    Core Bridges
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.41" data-path="duplicate-detection.html">
            
                <a href="duplicate-detection.html">
            
                    
                    Duplicate Message Detection
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.42" data-path="clusters.html">
            
                <a href="clusters.html">
            
                    
                    Clusters
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.43" data-path="ha.html">
            
                <a href="ha.html">
            
                    
                    High Availability and Failover
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.44" data-path="graceful-shutdown.html">
            
                <a href="graceful-shutdown.html">
            
                    
                    Graceful Server Shutdown
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.45" data-path="libaio.html">
            
                <a href="libaio.html">
            
                    
                    Libaio Native Libraries
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.46" data-path="thread-pooling.html">
            
                <a href="thread-pooling.html">
            
                    
                    Thread management
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.47" data-path="logging.html">
            
                <a href="logging.html">
            
                    
                    Logging
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.48" data-path="rest.html">
            
                <a href="rest.html">
            
                    
                    REST Interface
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.49" data-path="embedding-activemq.html">
            
                <a href="embedding-activemq.html">
            
                    
                    Embedding Apache ActiveMQ Artemis
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.50" data-path="karaf.html">
            
                <a href="karaf.html">
            
                    
                    Apache Karaf
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.51" data-path="spring-integration.html">
            
                <a href="spring-integration.html">
            
                    
                    Spring Integration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.52" data-path="aerogear-integration.html">
            
                <a href="aerogear-integration.html">
            
                    
                    AeroGear Integration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.53" data-path="vertx-integration.html">
            
                <a href="vertx-integration.html">
            
                    
                    VertX Integration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.54" data-path="cdi-integration.html">
            
                <a href="cdi-integration.html">
            
                    
                    CDI Integration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.55" data-path="intercepting-operations.html">
            
                <a href="intercepting-operations.html">
            
                    
                    Intercepting Operations
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.56" data-path="protocols-interoperability.html">
            
                <a href="protocols-interoperability.html">
            
                    
                    Protocols and Interoperability
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.57" data-path="tools.html">
            
                <a href="tools.html">
            
                    
                    Tools
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.58" data-path="maven-plugin.html">
            
                <a href="maven-plugin.html">
            
                    
                    Maven Plugin
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.59" data-path="unit-testing.html">
            
                <a href="unit-testing.html">
            
                    
                    Unit Testing
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.60" data-path="perf-tuning.html">
            
                <a href="perf-tuning.html">
            
                    
                    Troubleshooting and Performance Tuning
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.61" data-path="configuration-index.html">
            
                <a href="configuration-index.html">
            
                    
                    Configuration Reference
            
                </a>
            

            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="." >Using the Server</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="using-the-server">Using the Server</h1>
<p>This chapter will familiarise you with how to use the Apache ActiveMQ Artemis server.</p>
<p>We&apos;ll show where it is, how to start and stop it, and we&apos;ll describe the
directory layout and what all the files are and what they do.</p>
<p>For the remainder of this chapter when we talk about the Apache ActiveMQ Artemis server
we mean the Apache ActiveMQ Artemis standalone server, in its default configuration
with a JMS Service enabled.</p>
<p>This document will refer to the full path of the directory where the ActiveMQ
distribution has been extracted to as <code>${ARTEMIS_HOME}</code> directory.</p>
<h1 id="installation">Installation</h1>
<p>After downloading the distribution, the following highlights some important folders on the distribution:</p>
<pre><code>         |___ bin
         |
         |___ web
         |      |___ user-manual
         |      |___ api
         |
         |___ examples
         |      |___ core
         |      |___ javaee
         |      |___ jms
         |
         |___ lib
         |
         |___ schema
</code></pre><ul>
<li><p><code>bin</code> -- binaries and scripts needed to run ActiveMQ Artemis.</p>
</li>
<li><p><code>web</code> -- The folder where the web context is loaded when ActiveMQ Artemis runs.</p>
</li>
<li><p><code>user-manual</code> -- The user manual is placed under the web folder.</p>
</li>
<li><p><code>api</code> -- The api documentation is placed under the web folder</p>
</li>
<li><p><code>examples</code> -- JMS and Java EE examples. Please refer to the &apos;running
examples&apos; chapter for details on how to run them.</p>
</li>
<li><p><code>lib</code> -- jars and libraries needed to run ActiveMQ Artemis</p>
</li>
<li><p><code>licenses</code> -- licenses for ActiveMQ Artemis</p>
</li>
<li><p><code>schemas</code> -- XML Schemas used to validate ActiveMQ Artemis configuration
files</p>
</li>
</ul>
<h2 id="creating-a-broker-instance">Creating a Broker Instance</h2>
<p>A broker instance is the directory containing all the configuration and runtime
data, such as logs and data files, associated with a broker process.  It is recommended that
you do <em>not</em> create the instance directory under <code>${ARTEMIS_HOME}</code>.  This separation is
encouraged so that you can more easily upgrade when the next version of ActiveMQ Artemis is released.</p>
<p>On Unix systems, it is a common convention to store this kind of runtime data under
the <code>/var/lib</code> directory.  For example, to create an instance at &apos;/var/lib/mybroker&apos;, run
the following commands in your command line shell:</p>
<pre><code>cd /var/lib
${ARTEMIS_HOME}/bin/artemis create mybroker
</code></pre><p>A broker instance directory will contain the following sub directories:</p>
<ul>
<li><code>bin</code>: holds execution scripts associated with this instance.</li>
<li><code>etc</code>: hold the instance configuration files</li>
<li><code>data</code>: holds the data files used for storing persistent messages</li>
<li><code>log</code>: holds rotating log files</li>
<li><code>tmp</code>: holds temporary files that are safe to delete between broker runs</li>
</ul>
<p>At this point you may want to adjust the default configuration located in
the <code>etc</code> directory.</p>
<h3 id="options">Options</h3>
<p>There are several options you can use when creating an instance.</p>
<p>For a full list of updated properties always use:</p>
<pre><code> $./artemis help create
 NAME
         artemis create - creates a new broker instance

 SYNOPSIS
         artemis create [--allow-anonymous]
                 [--cluster-password &lt;clusterPassword&gt;] [--cluster-user &lt;clusterUser&gt;]
                 [--clustered] [--data &lt;data&gt;] [--encoding &lt;encoding&gt;] [--force]
                 [--home &lt;home&gt;] [--host &lt;host&gt;] [--java-options &lt;javaOptions&gt;]
                 [--password &lt;password&gt;] [--port-offset &lt;portOffset&gt;] [--replicated]
                 [--role &lt;role&gt;] [--shared-store] [--silent] [--user &lt;user&gt;] [--]
                 &lt;directory&gt;

 OPTIONS
         --allow-anonymous
             Enables anonymous configuration on security (Default: input)

         --cluster-password &lt;clusterPassword&gt;
             The cluster password to use for clustering. (Default: input)

         --cluster-user &lt;clusterUser&gt;
             The cluster user to use for clustering. (Default: input)

         --clustered
             Enable clustering

         --data &lt;data&gt;
             Directory where ActiveMQ Data is used. Path are relative to
             artemis.instance/bin

         --encoding &lt;encoding&gt;
             The encoding that text files should use

         --force
             Overwrite configuration at destination directory

         --home &lt;home&gt;
             Directory where ActiveMQ Artemis is installed

         --host &lt;host&gt;
             The host name of the broker (Default: 0.0.0.0 or input if clustered)

         --java-options &lt;javaOptions&gt;
             Extra java options to be passed to the profile

         --password &lt;password&gt;
             The user&apos;s password (Default: input)

         --port-offset &lt;portOffset&gt;
             Off sets the default ports

         --replicated
             Enable broker replication

         --role &lt;role&gt;
             The name for the role created (Default: amq)

         --shared-store
             Enable broker shared store

         --silent
             It will disable all the inputs, and it would make a best guess for
             any required input

         --user &lt;user&gt;
             The username (Default: input)

         --
             This option can be used to separate command-line options from the
             list of argument, (useful when arguments might be mistaken for
             command-line options

         &lt;directory&gt;
             The instance directory to hold the broker&apos;s configuration and data
</code></pre><p>Some of these properties may be mandatory in certain configurations and the system may ask you for additional input.</p>
<pre><code>    ./artemis create /usr/server
    Creating ActiveMQ Artemis instance at: /user/server

    --user: is mandatory with this configuration:
    Please provide the default username:
    admin

    --password: is mandatory with this configuration:
    Please provide the default password:


    --allow-anonymous: is mandatory with this configuration:
    Allow anonymous access? (Y/N):
    y

    You can now start the broker by executing:

       &quot;/user/server/bin/artemis&quot; run

    Or you can run the broker in the background using:

       &quot;/user/server/bin/artemis-service&quot; start
</code></pre><h3 id="starting-and-stopping-a-broker-instance">Starting and Stopping a Broker Instance</h3>
<p>Assuming you created the broker instance under <code>/var/lib/mybroker</code> all you need
to do start running the broker instance is execute:</p>
<pre><code>/var/lib/mybroker/bin/artemis run
</code></pre><p>Now that the broker is running, you can optionally run some of the included
examples to verify the the broker is running properly.</p>
<p>To stop the Apache ActiveMQ Artemis instance you will use the same <code>artemis</code> script, but with
the <code>stop argument</code>.  Example:</p>
<pre><code>/var/lib/mybroker/bin/artemis stop
</code></pre><p>Please note that Apache ActiveMQ Artemis requires a Java 7 or later runtime to run.</p>
<p>By default the <code>etc/bootstrap.xml</code> configuration is
used. The configuration can be changed e.g. by running
<code>./artemis run -- xml:path/to/bootstrap.xml</code> or another
config of your choosing.</p>
<p>Environment variables are used to provide ease of changing ports, hosts and
data directories used and can be found in <code>etc/artemis.profile</code> on linux and
<code>etc\artemis.profile.cmd</code> on Windows.</p>
<h2 id="server-jvm-settings">Server JVM settings</h2>
<p>The run scripts set some JVM settings for tuning the garbage collection
policy and heap size. We recommend using a parallel garbage collection
algorithm to smooth out latency and minimise large GC pauses.</p>
<p>By default Apache ActiveMQ Artemis runs in a maximum of 1GiB of RAM. To increase the
memory settings change the <code>-Xms</code> and <code>-Xmx</code> memory settings as you
would for any Java program.</p>
<p>If you wish to add any more JVM arguments or tune the existing ones, the
run scripts are the place to do it.</p>
<h2 id="pre-configured-options">Pre-configured Options</h2>
<p>The distribution contains several standard configuration sets for
running:</p>
<ul>
<li><p>Non clustered stand-alone.</p>
</li>
<li><p>Clustered stand-alone</p>
</li>
<li><p>Replicated stand-alone</p>
</li>
<li><p>Shared-store stand-alone</p>
</li>
</ul>
<p>You can of course create your own configuration and specify any
configuration when running the run script.</p>
<h2 id="library-path">Library Path</h2>
<p>If you&apos;re using the <a href="libaio.html">Asynchronous IO Journal</a> on Linux,
you need to specify <code>java.library.path</code> as a property on your Java
options. This is done automatically in the scripts.</p>
<p>If you don&apos;t specify <code>java.library.path</code> at your Java options then the
JVM will use the environment variable <code>LD_LIBRARY_PATH</code>.</p>
<p>You will need to make sure libaio is installed on Linux. For more information refer to the libaio chapter at
<a href="libaio.html#runtime-dependencies">Runtime Dependencies</a></p>
<h2 id="system-properties">System properties</h2>
<p>Apache ActiveMQ Artemis can take a system property on the command line for configuring
logging.</p>
<p>For more information on configuring logging, please see the section on
<a href="logging.html">Logging</a>.</p>
<h2 id="configuration-files">Configuration files</h2>
<p>The configuration file used to bootstrap the server (e.g.
<code>bootstrap.xml</code> by default) references the specific broker configuration
files.</p>
<ul>
<li><code>broker.xml</code>. This is the main ActiveMQ
configuration file. All the parameters in this file are
described <a href="configuration-index.html">here</a></li>
</ul>
<p>It is also possible to use system property substitution in all the
configuration files. by replacing a value with the name of a system
property. Here is an example of this with a connector configuration:</p>
<pre><code>&lt;connector name=&quot;netty&quot;&gt;tcp://${activemq.remoting.netty.host:localhost}:${activemq.remoting.netty.port:61616}&lt;/connector&gt;
</code></pre><p>Here you can see we have replaced 2 values with system properties
<code>activemq.remoting.netty.host</code> and <code>activemq.remoting.netty.port</code>. These
values will be replaced by the value found in the system property if
there is one, if not they default back to localhost or 61616
respectively. It is also possible to not supply a default. i.e.
<code>${activemq.remoting.netty.host}</code>, however the system property <em>must</em> be
supplied in that case.</p>
<h2 id="bootstrap-file">Bootstrap File</h2>
<p>The stand-alone server is basically a set of POJOs which are
instantiated by Airline commands.</p>
<p>The bootstrap file is very simple. Let&apos;s take a look at an example:</p>
<pre><code>&lt;broker xmlns=&quot;http://activemq.org/schema&quot;&gt;

   &lt;file:core configuration=&quot;${activemq.home}/config/stand-alone/non-clustered/broker.xml&quot;&gt;&lt;/core&gt;

   &lt;basic-security/&gt;

&lt;/broker&gt;
</code></pre><ul>
<li>core - Instantiates a core server using the configuration file from the
<code>configuration</code> attribute. This is the main broker POJO necessary to
do all the real messaging work.  In addition all JMS objects such as:
Queues, Topics and ConnectionFactory instances are configured here.</li>
</ul>
<h2 id="the-main-configuration-file">The main configuration file.</h2>
<p>The configuration for the Apache ActiveMQ Artemis core server is contained in
<code>broker.xml</code>. This is what the FileConfiguration bean
uses to configure the messaging server.</p>
<p>There are many attributes which you can configure Apache ActiveMQ Artemis. In most
cases the defaults will do fine, in fact every attribute can be
defaulted which means a file with a single empty <code>configuration</code> element
is a valid configuration file. The different configuration will be
explained throughout the manual or you can refer to the configuration
reference <a href="configuration-index.html">here</a>.</p>
<h1 id="windows-server">Windows Server</h1>
<p>On windows you will have the option to run ActiveMQ Artemis as a service.
Just use the following command to install it:</p>
<pre><code> $ ./artemis-service.exe install
</code></pre><p>The create process should give you a hint of the available commands available for the artemis-service.exe</p>

                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="architecture.html" class="navigation navigation-prev " aria-label="Previous page: Architecture">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="using-jms.html" class="navigation navigation-next " aria-label="Next page: Using JMS">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"Using the Server","level":"1.7","depth":1,"next":{"title":"Using JMS","level":"1.8","depth":1,"path":"using-jms.md","ref":"using-jms.md","articles":[]},"previous":{"title":"Architecture","level":"1.6","depth":1,"path":"architecture.md","ref":"architecture.md","articles":[]},"dir":"ltr"},"config":{"plugins":[],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"github":"apache/activemq-artemis","theme":"default","githubHost":"https://github.com/","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"ActiveMQ Artemis Documentation","links":{"home":"http://activemq.apache.org/","issues":"http://activemq.apache.org/","contribute":"http://activemq.apache.org/contributing.html"},"gitbook":"3.x.x","description":"ActiveMQ Artemis User Guide and Reference Documentation"},"file":{"path":"using-server.md","mtime":"2017-03-08T02:35:03.000Z","type":"markdown"},"gitbook":{"version":"3.1.1","time":"2017-03-08T02:38:15.470Z"},"basePath":".","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="gitbook/gitbook.js"></script>
    <script src="gitbook/theme.js"></script>
    
        
        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

