# Getting Started

Note (Windows users): Examples below use the shell script `artemis` for use with linux, Windows users should use the `artemis.cmd` script with the same parameters.

## Creating a broker

To create a broker, navigate to the distribution 'bin/' directory and run:
$ ./artemis create $directory
Where $directory is the folder that you'd like the broker to be created. The create process will input for any required property not specified. Example:

    --user: is a mandatory property!
    Please provide the default username:
    admin

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

    --allow-anonymous | --require-login: is a mandatory property!
    Allow anonymous access?, valid values are Y,N,True,False
    y

For a full list of available options for the create process you may use: $ ./artemis help create

    NAME
            artemis create - creates a new broker instance

    SYNOPSIS
            artemis create [--addresses <addresses>] [--aio] [--allow-anonymous]
                    [--autocreate] [--blocking] [--cluster-password <clusterPassword>]
                    [--cluster-user <clusterUser>] [--clustered] [--data <data>]
                    [--default-port <defaultPort>] [--disable-persistence]
                    [--encoding <encoding>] [--failover-on-shutdown] [--force]
                    [--global-max-size <globalMaxSize>] [--home <home>] [--host <host>]
                    [--http-host <httpHost>] [--http-port <httpPort>]
                    [--java-options <javaOptions>] [--mapped] [--max-hops <maxHops>]
                    [--message-load-balancing <messageLoadBalancing>] [--name <name>]
                    [--nio] [--no-amqp-acceptor] [--no-autocreate] [--no-autotune]
                    [--no-fsync] [--no-hornetq-acceptor] [--no-mqtt-acceptor]
                    [--no-stomp-acceptor] [--no-web] [--paging] [--password <password>]
                    [--ping <ping>] [--port-offset <portOffset>] [--queues <queues>]
                    [--replicated] [--require-login] [--role <role>] [--shared-store]
                    [--silent] [--slave] [--ssl-key <sslKey>]
                    [--ssl-key-password <sslKeyPassword>] [--ssl-trust <sslTrust>]
                    [--ssl-trust-password <sslTrustPassword>] [--use-client-auth]
                    [--user <user>] [--verbose] [--] <directory>
         ...

## Starting the Broker

Once the broker has been created, use the artemis (or artemis.cmd on windows) script found under the bin directory of the newly created broker to manage the life cycle of the broker. To run the Apache Artemis broker with the default configuration, run the command shown below from the "bin" directory of the created broker.
$ ./artemis run
To specify a broker configuration file:
$ ./artemis run --config scheme:location
e.g.
$ ./artemis run --config xml:/home/artemis/bootstrap.xml
It is possible to configure run time parameters in the artemis.conf (artemis.conf.bat for windows) file under the "bin" directory of the broker directory.

## Stopping the Broker

To stop the broker please use the artemis script from the broker's bin directory:
$ ./artemis stop

## Documentation

The broker has an in depth user manual and a bunch of examples to help you get started. The manual can be found in the documentation on the Apache Artemis Website.
The examples are can be found in the the Apache Artemis Examples github repository.
Release Notes for all version can be found here