JBoss.org Community Documentation

- Prev

## Chapter 7. Running the Examples

In the directory `examples` there are 2 sets of examples, these are

- JMS Examples - these demonstrate functionality while sending and consumng JMS messages.

- Java EE Examples - these demonstrate application server integration, e.g. MDBs, EJBs, Servlets, etc.

## 7.1. The JMS examples

The JMS Examples all follow the same format. Each examples is contained in its own directory which contains the following.

- `build.xml`

  This is the ant build file used to run the example

- `src` directory

  This contains the source code for the example

- `server0` configuration directory

  This contains the configuration files needed to run the server for the example. There may be multiple configuration directories `server0`, `server1` etc for clustered examples etc.

Each example will start one or more stand-alone servers and stop them after the example has completed.

As a quick start we'll run the queue example. For all other examples refer to the main user manual.

Firstly open a Shell or a Command prompt and navigate to the `examples/jms/queue` directory.

Type the command `./build.sh` (or `build.bat` if you are running on Windows), and you should see the following output:

    Buildfile: build.xml

    run:

    init:

    compile:
         [echo] src.example.dir=/home/andy/projects/hornetq/trunk/examples/jms/queue/src
        [javac] Compiling 5 source files to /home/andy/projects/hornetq/trunk/examples/jms/queue
    /build/classes

    runExample:
         [java] 10:41:04,149 INFO  @main [JMSExample] hornetq.example.runServer is true
         [java] 10:41:04,149 INFO  @main [JMSExample] starting server with config 'server0'
     logServerOutput true
         [java] 10:41:04,149 INFO  @main [JMSExample] and vm args: -Xms512M,-Xmx512M,-XX:+U
    seParallelGC,-XX:+AggressiveOpts,-XX:+UseFastAccessorMethods,-Djava.util.logging.config.
    file=/home/andy/projects/hornetq/trunk/examples/jms/common/../../../src/config/stand-alone/no
    n-clustered/logging.properties
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:08,437 INFO  @main [Journal
    StorageManager] AIO journal selected
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:08,437 WARN  @main [Journal
    StorageManager] AIO wasn't located on this platform, it will fall back to using pure Jav
    a NIO. If your platform is Linux, install LibAIO to enable the AIO journal
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:08,437 WARN  @main [Securit
    yStoreImpl] It has been detected that the cluster admin password which is used to replic
    ate management operation from one node to the other has not had its password changed fro
    m the installation default. Please see the HornetQ user guide for instructions o
    n how to do this.
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO  @main [HornetQCo
    nnectionFactory] read only is false
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO  @main [HornetQCo
    nnectionFactory] read only is false
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:10,941 INFO  @main [HornetQCo
    nnectionFactory] read only is false
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:10,991 WARN  @main [JMSServ
    erManagerImpl] Binding for java:/ConnectionFactory already exists
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:10,991 WARN  @main [JMSServ
    erManagerImpl] Binding for java:/XAConnectionFactory already exists
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:11,241 INFO  @main [Messagi
    ngServerImpl] HornetQ Server version 2.0.0.BETA5 (buzz-buzz, 107) started
         [java] org.hornetq.jms.example.SpawnedJMSServer out:10:41:11,241 INFO  @main [HornetQBoot
    strapServer] HornetQ server started
         [java] org.hornetq.jms.example.SpawnedJMSServer out:STARTED::
         [java] 10:41:11,276 INFO  @main [JMSExample] using server0/client-jndi.properties f
    or jndi
         [java] Sent message: This is a text message
         [java] Received message: This is a text message
         [java]
         [java] #####################
         [java] ###    SUCCESS!   ###
         [java] #####################

    BUILD SUCCESSFUL
    Total time: 13 seconds

Congratulations! You have successfully run your first HornetQ example. Try some of the others.

## 7.2. The Java EE Examples

The Java EE Examples are examples that require a JEE application server to run. They include MDB, Servlet, EJB examples etc. For this you will need the JBoss Application Server installed. How to do this is explained in the previous chapters.

We'll use the MDB example for the purposes of this guide. For the other examples refer to the user guide. Before going any further ensure that the JBoss Application Server is running.

Like the other Java EE examples the MDB example is a JEE Application which first needs deploying in the JBoss Application Server. The first thing we need to do is set the `JBOSS_HOME` environment property to the location of the JBoss Application Server, in a Linux shell this would be something like:

    export JBOSS_HOME=/home/jbossas5.1/build/output/jboss-5.1.0.GA

Once set we can then deploy the application, from inside the `examples/javaee/mdb` directory run the command:

    ./build.sh deploy

This will make a copy of the messaging profile in the JBoss Application server and start the server.

In the shell window you should see something like the following output:

    Buildfile: build.xml

    validate-jboss:

    deploy:

    deploy-resources:
         [copy] Copying 1 file to /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA
         /server/default-with-hornetq/deploy/hornetq.sar
         [copy] Copying 1 file to /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA
         /server/default-with-hornetq/deploy/hornetq.sar

    init:

    compile:

    jar:
          [jar] Building jar: /home/andy/projects/hornetq/trunk/examples/javaee/mdb/build/mdb-exa
          mple.jar

    ear:
          [jar] Building jar: /home/andy/projects/hornetq/trunk/examples/javaee/mdb/build/mdb-exa
          mple.ear

    deploy-ear:
         [copy] Copying 1 file to /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA

         .......

         [exec] 16:01:04,607 INFO  [JBossASKernel] 	Class:javax.jms.MessageListener
         [exec] 16:01:04,607 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=mdb-example.ear,
         jar=mdb-example.jar,name=MessageMDBExample,service=EJB3) to KernelDeployment of:
         mdb-example.jar
         [exec] 16:01:04,702 INFO  [EJBContainer] STARTED EJB: org.hornetq.javaee.example.server
         .MDBExample ejbName: MessageMDBExample
         [exec] 16:01:09,496 INFO  [TomcatDeployment] deploy, ctxPath=/mdb-example
         [exec] 16:01:09,812 WARNING [config] Unable to process deployment descriptor for cont
         ext '/mdb-example'
         [exec] 16:01:09,812 INFO  [config] Initializing Mojarra (1.2_12-b01-FCS) for context
         '/mdb-example'
         [exec] 16:01:09,958 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-
         8080
         [exec] 16:01:09,990 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
         [exec] 16:01:10,001 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag
         =JBoss_5_1_0_GA date=200905151005)] Started in 6m:21s:797ms

We can now run the example, do this by running the following command from within the `mdb` directory.

    ./build.sh

You should see some output similar to the following:

    Buildfile: build.xml

    run:

    init:

    compile:

    runExample:
         [java] Sent message: This is a text message

    BUILD SUCCESSFUL
    Total time: 7 seconds

You may also see some output from the JBoss Application Server, in this instance it is:

    16:27:54,703 INFO  [STDOUT] message This is a text message received

The application can then be undeployed by running the following command from within the `mdb` directory.

    ./build.sh undeploy

This should so some output similar to the following:

    Buildfile: build.xml

    validate-jboss:

    undeploy:

    undeploy-misc:
       [delete] Deleting: /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA
       /server/default-with-hornetq/deploy/mdb-example.ear
       [delete] Deleting: /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA
       /server/default-with-hornetq/deploy/hornetq.sar/hornetq-queues.xml
       [delete] Deleting: /home/andy/projects/jbossas5.1/build/output/jboss-5.1.0.GA
       /server/default-with-hornetq/deploy/hornetq.sar/hornetq-jms.xml

    BUILD SUCCESSFUL
    Total time: 1 second

You can verify that the application has been undeployed by checking the output from the JBoss Application Server, in this instance it will be something like:

    16:36:45,277 INFO  [EJBContainer] STOPPED EJB: org.jboss.javaee.example.server.MDBExample
             ejbName: MessageMDBExample

Congratulations! you have successfully deployed and run a Java EE example.

- PrevChapter 6. Starting The Server
- Top of page
- Front page