Chapter 3. Getting started

This chapter guides you through a simple exercise to help you get started using AMQ JMS.

To build the examples, you must first configure Maven to discover the client repository.

3.1. Preparing the broker

The example programs require a running broker with a queue named queue. Follow these steps to define the queue and start the broker:

Procedure

  1. Install the broker.
  2. Create a broker instance. Enable anonymous access.
  3. Start the broker instance and check the console for any critical errors logged during startup.

    $ <broker-instance-dir>/bin/artemis run
    ...
    14:43:20,158 INFO  [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server
    ...
    15:01:39,686 INFO  [org.apache.activemq.artemis.core.server] AMQ221020: Started Acceptor at 0.0.0.0:5672 for protocols [AMQP]
    ...
    15:01:39,691 INFO  [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
  4. Use the artemis queue command to create a queue called queue.

    <broker-instance-dir>/bin/artemis queue create --name queue --auto-create-address --anycast

    You are prompted to answer a series of questions. For yes or no questions, type N. Otherwise, press Enter to accept the default value.

3.2. Running Hello World

Use Maven to build the examples by running the following command in the <install-dir>/examples directory.

Note

In this example, the addition of dependency:copy-dependencies results in the dependencies being copied into the target/dependency directory.

mvn clean package dependency:copy-dependencies -DincludeScope=runtime -DskipTests

Run the HelloWorld example by using one of the following commands.

Linux:   java -cp "target/classes/:target/dependency/*" org.apache.qpid.jms.example.HelloWorld
Windows: java -cp "target\classes\;target\dependency\*" org.apache.qpid.jms.example.HelloWorld

The HelloWorld example creates a connection to the broker, creates a MessageConsumer and MessageProducer for the queue named queue, sends a Hello world! TextMessage, receives it, and prints its contents to the terminal.

For example, running it on Linux results in the following output.

$ java -cp "target/classes/:target/dependency/*" org.apache.qpid.jms.example.HelloWorld
Hello world!

The source code for the example can be found in the <install-dir>/src/main/java directory, with the JNDI and logging configuration found in the <install-dir>/src/main/resources directory.