# The Java EE 7 Tutorial

# 46.1 Overview of the JMS Examples

The following tables list the examples used in this chapter, describe what they do, and link to the section that describes them fully. The example directory for each example is relative to the tut-install`/examples/jms/` directory.

Table 46-1 JMS Examples That Show the Use of Java EE Application Clients

Example Directory | Description
--- | ---
`simple/producer` | Using an application client to send messages; see Sending Messages
`simple/synchconsumer` | Using an application client to receive messages synchronously; see Receiving Messages Synchronously
`simple/asynchconsumer` | Using an application client to receive messages asynchronously; see Using a Message Listener for Asynchronous Message Delivery
`simple/messagebrowser` | Using an application client to use a `QueueBrowser` to browse a queue; see Browsing Messages on a Queue
`simple/clientackconsumer` | Using an application client to acknowledge messages received synchronously; see Acknowledging Messages
`durablesubscriptionexample` | Using an application client to create a durable subscription on a topic; see Using Durable Subscriptions
`transactedexample` | Using an application client to send and receive messages in local transactions (also uses request-reply messaging); see Using Local Transactions
`shared/sharedconsumer` | Using an application client to create shared nondurable topic subscriptions; see Using Shared Nondurable Subscriptions
`shared/shareddurableconsumer` | Using an application client to create shared durable topic subscriptions; see Using Shared Durable Subscriptions

Table 46-2 JMS Examples That Show the Use of Java EE Web and EJB Components

Example Directory | Description
--- | ---
`websimplemessage` | Using managed beans to send messages and to receive messages synchronously; see Sending and Receiving Messages Using a Simple Web Application
`simplemessage` | Using an application client to send messages, and using a message-driven bean to receive messages asynchronously; see Receiving Messages Asynchronously Using a Message-Driven Bean
`clientsessionmdb` | Using a session bean to send messages, and using a message-driven bean to receive messages; see Sending Messages from a Session Bean to an MDB
`clientmdbentity` | Using an application client, two message-driven beans, and JPA persistence to create a simple HR application; see Using an Entity to Join Messages from Two MDBs