The Java EE 6 Tutorial

Packaging, Deploying, and Running the simplemessage Example

To package, deploy and run this example, go to the tut-install/examples/ejb/simplemessage/ directory.

Creating the Administered Objects for the simplemessage Example

This example requires the following:

If you have run the simple JMS examples in Chapter 30, Java Message Service Concepts and have not deleted the resources, you already have these resources and do not need to perform these steps.

You can use Ant targets to create the resources. The Ant targets, which are defined in the build.xml file for this example, use the asadmin command. To create the resources needed for this example, use the following commands:


ant create-cf
ant create-queue

These commands do the following:

The Ant targets for these commands refer to other targets that are defined in the tut-install/examples/bp-project/app-server-ant.xml file.

ProcedureTo Build, Deploy, and Run the simplemessage Application Using NetBeans IDE

  1. In NetBeans IDE, select File->Open Project.

  2. In the Open Project dialog, navigate to:


    tut-install/examples/ejb/
    
  3. Select the simplemessage folder.

  4. Select the Open as Main Project check box and the Open Required Projects check box.

  5. Click Open Project.

  6. In the Projects tab, right-click the simplemessage project and choose Build.

    This task packages the application client and the message-driven bean, then creates a file named simplemessage.ear in the dist directory.

  7. Right-click the project and choose Run.

    This command deploys the project, returns a JAR file named simplemessageClient.jar, and then executes it.

    The output of the application client in the Output pane looks like this (preceded by application client container output):


    Sending message: This is message 1
    Sending message: This is message 2
    Sending message: This is message 3
    To see if the bean received the messages,
     check <install_dir>/domains/domain1/logs/server.log.

    The output from the message-driven bean appears in the server log (domain-dir/logs/server.log), wrapped in logging information.


    MESSAGE BEAN: Message received: This is message 1
    MESSAGE BEAN: Message received: This is message 2
    MESSAGE BEAN: Message received: This is message 3

    The received messages may appear in a different order from the order in which they were sent.

ProcedureTo Build, Deploy, and Run the simplemessage Application Using Ant

  1. Go to the following directory:

    tut-install/examples/ejb/simplemessage/
    
  2. To compile the source files and package the application, use the following command:


    ant
    

    This target packages the application client and the message-driven bean, then creates a file named simplemessage.ear in the dist directory.

    By using resource injection and annotations, you avoid having to create deployment descriptor files for the message-driven bean and application client. You need to use deployment descriptors only if you want to override the values specified in the annotated source files.

  3. To deploy the application and run the client using Ant, use the following command:


    ant run
    

    Ignore the message that states that the application is deployed at a URL.

    The output in the terminal window looks like this (preceded by application client container output):


    Sending message: This is message 1
    Sending message: This is message 2
    Sending message: This is message 3
    To see if the bean received the messages,
     check <install_dir>/domains/domain1/logs/server.log.

    In the server log file, the following lines appear, wrapped in logging information:


    MESSAGE BEAN: Message received: This is message 1
    MESSAGE BEAN: Message received: This is message 2
    MESSAGE BEAN: Message received: This is message 3

    The received messages may appear in a different order from the order in which they were sent.

Removing the Administered Objects for the simplemessage Example

After you run the example, you can use the following Ant targets to delete the connection factory and queue:


ant delete-cf
ant delete-queue