Repository: activemq-artemis Updated Branches: refs/heads/2.6.x 7b49a8e3d -> 8058a512e
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/40b66d13/docs/user-manual/en/using-server.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/using-server.md b/docs/user-manual/en/using-server.md index dea7693..1e7b743 100644 --- a/docs/user-manual/en/using-server.md +++ b/docs/user-manual/en/using-server.md @@ -1,20 +1,22 @@ # Using the Server -This chapter will familiarise you with how to use the Apache ActiveMQ Artemis server. +This chapter will familiarise you with how to use the Apache ActiveMQ Artemis +server. We'll show where it is, how to start and stop it, and we'll describe the directory layout and what all the files are and what they do. -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. +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. This document will refer to the full path of the directory where the ActiveMQ distribution has been extracted to as `${ARTEMIS_HOME}` directory. ## Installation -After downloading the distribution, the following highlights some important folders on the distribution: +After downloading the distribution, the following highlights some important +folders on the distribution: |___ bin | @@ -36,48 +38,52 @@ After downloading the distribution, the following highlights some important fold |___ user-manual -- `bin` - binaries and scripts needed to run ActiveMQ Artemis. +- `bin` - binaries and scripts needed to run ActiveMQ Artemis. -- `examples` - All manner of examples. Please refer to the [examples](examples.md) - chapter for details on how to run them. +- `examples` - All manner of examples. Please refer to the [examples](examples.md) + chapter for details on how to run them. -- `lib` - jars and libraries needed to run ActiveMQ Artemis +- `lib` - jars and libraries needed to run ActiveMQ Artemis -- `schema` - XML Schemas used to validate ActiveMQ Artemis configuration files +- `schema` - XML Schemas used to validate ActiveMQ Artemis configuration files -- `web` - The folder where the web context is loaded when the broker runs. +- `web` - The folder where the web context is loaded when the broker runs. -- `api` - The api documentation is placed under the web folder. +- `api` - The api documentation is placed under the web folder. -- `user-manual` - The user manual is placed under the web folder. +- `user-manual` - The user manual is placed under the web folder. ## Creating a Broker Instance 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 *not* create the instance directory under `${ARTEMIS_HOME}`. This separation is -encouraged so that you can more easily upgrade when the next version of ActiveMQ Artemis is released. - -On Unix systems, it is a common convention to store this kind of runtime data under -the `/var/lib` directory. For example, to create an instance at '/var/lib/mybroker', run -the following commands in your command line shell: - - cd /var/lib - ${ARTEMIS_HOME}/bin/artemis create mybroker +data, such as logs and data files, associated with a broker process. It is +recommended that you do *not* create the instance directory under +`${ARTEMIS_HOME}`. This separation is encouraged so that you can more easily +upgrade when the next version of ActiveMQ Artemis is released. + +On Unix systems, it is a common convention to store this kind of runtime data +under the `/var/lib` directory. For example, to create an instance at +'/var/lib/mybroker', run the following commands in your command line shell: + +```sh +cd /var/lib +${ARTEMIS_HOME}/bin/artemis create mybroker +``` A broker instance directory will contain the following sub directories: - * `bin`: holds execution scripts associated with this instance. - * `etc`: hold the instance configuration files - * `data`: holds the data files used for storing persistent messages - * `log`: holds rotating log files - * `tmp`: holds temporary files that are safe to delete between broker runs +- `bin`: holds execution scripts associated with this instance. +- `etc`: hold the instance configuration files +- `data`: holds the data files used for storing persistent messages +- `log`: holds rotating log files +- `tmp`: holds temporary files that are safe to delete between broker runs -At this point you may want to adjust the default configuration located in -the `etc` directory. +At this point you may want to adjust the default configuration located in the +`etc` directory. ### Options + There are several options you can use when creating an instance. For a full list of updated properties always use: @@ -288,35 +294,35 @@ For a full list of updated properties always use: Path must be writable. ``` - -Some of these properties may be mandatory in certain configurations and the system may ask you for additional input. +Some of these properties may be mandatory in certain configurations and the +system may ask you for additional input. ``` - ./artemis create /usr/server - Creating ActiveMQ Artemis instance at: /user/server +./artemis create /usr/server +Creating ActiveMQ Artemis instance at: /user/server - --user: is a mandatory property! - Please provide the default username: - admin +--user: is a mandatory property! +Please provide the default username: +admin - --password: is mandatory with this configuration: - Please provide the default password: +--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 +--allow-anonymous | --require-login: is a mandatory property! +Allow anonymous access?, valid values are Y,N,True,False +y - Auto tuning journal ... - done! Your system can make 0.34 writes per millisecond, your journal-buffer-timeout will be 2956000 +Auto tuning journal ... +done! Your system can make 0.34 writes per millisecond, your journal-buffer-timeout will be 2956000 - You can now start the broker by executing: +You can now start the broker by executing: - "/user/server/bin/artemis" run + "/user/server/bin/artemis" run - Or you can run the broker in the background using: +Or you can run the broker in the background using: - "/user/server/bin/artemis-service" start + "/user/server/bin/artemis-service" start ``` @@ -325,22 +331,26 @@ Some of these properties may be mandatory in certain configurations and the syst Assuming you created the broker instance under `/var/lib/mybroker` all you need to do start running the broker instance is execute: - /var/lib/mybroker/bin/artemis run +```sh +/var/lib/mybroker/bin/artemis run +``` Now that the broker is running, you can optionally run some of the included examples to verify the the broker is running properly. -To stop the Apache ActiveMQ Artemis instance you will use the same `artemis` script, but with -the `stop argument`. Example: +To stop the Apache ActiveMQ Artemis instance you will use the same `artemis` +script, but with the `stop` argument. Example: - /var/lib/mybroker/bin/artemis stop +```sh +/var/lib/mybroker/bin/artemis stop +``` -Please note that Apache ActiveMQ Artemis requires a Java 7 or later runtime to run. +Please note that Apache ActiveMQ Artemis requires a Java 7 or later runtime to +run. -By default the `etc/bootstrap.xml` configuration is -used. The configuration can be changed e.g. by running -`./artemis run -- xml:path/to/bootstrap.xml` or another -config of your choosing. +By default the `etc/bootstrap.xml` configuration is used. The configuration can +be changed e.g. by running `./artemis run -- xml:path/to/bootstrap.xml` or +another config of your choosing. Environment variables are used to provide ease of changing ports, hosts and data directories used and can be found in `etc/artemis.profile` on linux and @@ -348,65 +358,64 @@ data directories used and can be found in `etc/artemis.profile` on linux and ## Server JVM settings -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. +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. -By default Apache ActiveMQ Artemis runs in a maximum of 1GiB of RAM. To increase the -memory settings change the `-Xms` and `-Xmx` memory settings as you -would for any Java program. +By default Apache ActiveMQ Artemis runs in a maximum of 1GiB of RAM. To +increase the memory settings change the `-Xms` and `-Xmx` memory settings as +you would for any Java program. -If you wish to add any more JVM arguments or tune the existing ones, the -run scripts are the place to do it. +If you wish to add any more JVM arguments or tune the existing ones, the run +scripts are the place to do it. ## Library Path -If you're using the [Asynchronous IO Journal](libaio.md) on Linux, -you need to specify `java.library.path` as a property on your Java -options. This is done automatically in the scripts. +If you're using the [Asynchronous IO Journal](libaio.md) on Linux, you need to +specify `java.library.path` as a property on your Java options. This is done +automatically in the scripts. -If you don't specify `java.library.path` at your Java options then the -JVM will use the environment variable `LD_LIBRARY_PATH`. +If you don't specify `java.library.path` at your Java options then the JVM will +use the environment variable `LD_LIBRARY_PATH`. -You will need to make sure libaio is installed on Linux. For more information refer to the libaio chapter at -[Runtime Dependencies](libaio.html#runtime-dependencies) +You will need to make sure libaio is installed on Linux. For more information +refer to the [libaio chapter](libaio.html#runtime-dependencies). ## System properties -Apache ActiveMQ Artemis can take a system property on the command line for configuring -logging. +Apache ActiveMQ Artemis can take a system property on the command line for +configuring logging. For more information on configuring logging, please see the section on [Logging](logging.md). ## Configuration files -The configuration file used to bootstrap the server (e.g. -`bootstrap.xml` by default) references the specific broker configuration -files. +The configuration file used to bootstrap the server (e.g. `bootstrap.xml` by +default) references the specific broker configuration files. -- `broker.xml`. This is the main ActiveMQ - configuration file. All the parameters in this file are - described [here](configuration-index.md) +- `broker.xml`. This is the main ActiveMQ configuration file. All the + parameters in this file are described [here](configuration-index.md) 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: +configuration files. by replacing a value with the name of a system property. +Here is an example of this with a connector configuration: - <connector name="netty">tcp://${activemq.remoting.netty.host:localhost}:${activemq.remoting.netty.port:61616}</connector> +```xml +<connector name="netty">tcp://${activemq.remoting.netty.host:localhost}:${activemq.remoting.netty.port:61616}</connector> +``` Here you can see we have replaced 2 values with system properties -`activemq.remoting.netty.host` and `activemq.remoting.netty.port`. 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. -`${activemq.remoting.netty.host}`, however the system property *must* be -supplied in that case. +`activemq.remoting.netty.host` and `activemq.remoting.netty.port`. 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. `${activemq.remoting.netty.host}`, however the +system property *must* be supplied in that case. ### Bootstrap configuration file -The stand-alone server is basically a set of POJOs which are -instantiated by Airline commands. +The stand-alone server is basically a set of POJOs which are instantiated by +Airline commands. The bootstrap file is very simple. Let's take a look at an example: @@ -425,48 +434,47 @@ The bootstrap file is very simple. Let's take a look at an example: </broker> ``` +- `server` - Instantiates a core server using the configuration file from the + `configuration` attribute. This is the main broker POJO necessary to do all + the real messaging work. -- `server` - Instantiates a core server using the configuration file from the - `configuration` attribute. This is the main broker POJO necessary to - do all the real messaging work. +- `jaas-security` - Configures security for the server. The `domain` attribute + refers to the relevant login module entry in `login.config`. -- `jaas-security` - Configures security for the server. The `domain` attribute - refers to the relevant login module entry in `login.config`. - -- `web` - Configures an embedded Jetty instance to serve web applications like - the admin console. +- `web` - Configures an embedded Jetty instance to serve web applications like + the admin console. ### Broker configuration file The configuration for the Apache ActiveMQ Artemis core server is contained in -`broker.xml`. This is what the FileConfiguration bean -uses to configure the messaging server. +`broker.xml`. This is what the FileConfiguration bean uses to configure the +messaging server. -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 `configuration` element -is a valid configuration file. The different configuration will be -explained throughout the manual or you can refer to the configuration -reference [here](configuration-index.md). +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 `configuration` element is a valid +configuration file. The different configuration will be explained throughout +the manual or you can refer to the configuration reference +[here](configuration-index.md). ## Windows Server -On windows you will have the option to run ActiveMQ Artemis as a service. -Just use the following command to install it: +On windows you will have the option to run ActiveMQ Artemis as a service. Just +use the following command to install it: ``` $ ./artemis-service.exe install ``` - -The create process should give you a hint of the available commands available for the artemis-service.exe +The create process should give you a hint of the available commands available +for the artemis-service.exe ## Adding Runtime Dependencies Runtime dependencies like diverts, transformers, broker plugins, JDBC drivers, -password decoders, etc. must be accessible by the broker at runtime. Package +password decoders, etc. must be accessible by the broker at runtime. Package the dependency in a jar, and put it on the broker's classpath. This can be done -by placing the jar file in the `lib` directory of the broker distribution itself -or in the `lib` directory of the broker instance. A broker instance does not have -a `lib` directory by default so it may need to be created. It should be on the -"top" level with the `bin`, `data`, `log`, etc. directories. \ No newline at end of file +by placing the jar file in the `lib` directory of the broker distribution +itself or in the `lib` directory of the broker instance. A broker instance does +not have a `lib` directory by default so it may need to be created. It should +be on the "top" level with the `bin`, `data`, `log`, etc. directories. http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/40b66d13/docs/user-manual/en/versions.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/versions.md b/docs/user-manual/en/versions.md index 526fa30..9bb33d6 100644 --- a/docs/user-manual/en/versions.md +++ b/docs/user-manual/en/versions.md @@ -4,9 +4,9 @@ This chapter provides the information for each release: - A link to the full release notes which includes all issues resolved in the release. - A brief list of "highlights." - If necessary, specific steps required when upgrading from the previous version. - - _NOTE:_ If the upgrade spans multiple versions then the steps from each version need to be followed in order. - - _NOTE:_ Follow the general upgrade procedure outlined in the [Upgrading the Broker](upgrading.md) - chapter in addition to any version-specific upgrade instructions. + - **Note:** If the upgrade spans multiple versions then the steps from **each** version need to be followed in order. + - **Note:** Follow the general upgrade procedure outlined in the [Upgrading the Broker](upgrading.md) + chapter in addition to any version-specific upgrade instructions outlined here. ## 2.5.0 @@ -58,7 +58,7 @@ Highlights: ```xml <app url="console" war="console.war"/> ``` - _NOTE:_ the Jolokia REST interface URL will now be at `http://<host>:<port>/console/jolokia` + **Note:** the Jolokia REST interface URL will now be at `http://<host>:<port>/console/jolokia` ## 2.3.0 http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/40b66d13/docs/user-manual/en/wildcard-routing.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/wildcard-routing.md b/docs/user-manual/en/wildcard-routing.md index 96540f3..0db7748 100644 --- a/docs/user-manual/en/wildcard-routing.md +++ b/docs/user-manual/en/wildcard-routing.md @@ -8,7 +8,7 @@ receive any messages sent to addresses that match this, for instance you create a consumer on this queue, this allows a consumer to consume messages which are sent to a *hierarchy* of addresses. -> **Note** +> **Note:** > > In JMS terminology this allows "topic hierarchies" to be created. http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/40b66d13/examples/features/standard/spring-integration/src/main/resources/broker.xml ---------------------------------------------------------------------- diff --git a/examples/features/standard/spring-integration/src/main/resources/broker.xml b/examples/features/standard/spring-integration/src/main/resources/broker.xml index 9d703b3..505b37f 100644 --- a/examples/features/standard/spring-integration/src/main/resources/broker.xml +++ b/examples/features/standard/spring-integration/src/main/resources/broker.xml @@ -26,11 +26,10 @@ under the License. <acceptor name="in-vm">vm://0</acceptor> </acceptors> - <!-- Other config --> - <security-settings> - <!--security for example queue--> <security-setting match="#"> + <permission roles="guest" type="createAddress"/> + <permission roles="guest" type="deleteAddress"/> <permission roles="guest" type="createDurableQueue"/> <permission roles="guest" type="deleteDurableQueue"/> <permission roles="guest" type="createNonDurableQueue"/> @@ -39,13 +38,5 @@ under the License. <permission roles="guest" type="send"/> </security-setting> </security-settings> - - <addresses> - <address name="exampleQueue"> - <anycast> - <queue name="jms.queue.exampleQueue"/> - </anycast> - </address> - </addresses> </core> </configuration> http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/40b66d13/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml ---------------------------------------------------------------------- diff --git a/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml b/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml index 7db39ea..07545fe 100644 --- a/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml +++ b/examples/features/standard/spring-integration/src/main/resources/spring-jms-beans.xml @@ -49,16 +49,11 @@ under the License. <bean id="EmbeddedJms" class="org.apache.activemq.artemis.integration.spring.SpringJmsBootstrap" init-method="start" destroy-method="close"> - <property name="SecurityManager" ref="securityManager"/> + <property name="SecurityManager" ref="securityManager"/> </bean> <bean id="connectionFactory" class="org.apache.activemq.artemis.jms.client.ActiveMQJMSConnectionFactory"> - <constructor-arg value="false"/> - <constructor-arg> - <bean class="org.apache.activemq.artemis.api.core.TransportConfiguration"> - <constructor-arg value="org.apache.activemq.artemis.core.remoting.impl.invm.InVMConnectorFactory"/> - </bean> - </constructor-arg> + <constructor-arg value="vm://0"/> </bean> <bean id="exampleQueue" class="org.apache.activemq.artemis.jms.client.ActiveMQQueue">
