Message-Oriented Middleware and JMS
Message-Oriented Middleware
Why Use MOM?
Java Message Service
General MOM Concepts
JMS Modes of Operation
Synchronous Messaging
Asynchronous Messaging
JMS Domains
Point-to-Point Messaging
Publish - Subscribe Messaging
JMS Objects
Review: Java Message Service
Lab: Java Message Service
JMS In A Nutshell
JMS Architecture
The JMS Programming Model
The JMS Programming Model (2)
A Simple JMS Application
The SimpleSender Class
Looking Up the Resources
Creating & Using JMS Objects
Creating & Using JMS Objects (2)
Cleaning Up
Finishing Touches
Review: JMS In A Nutshell
Lab: JMS In A Nutshell
JMS Architecture and Programming Model
The JMS Programming Model
Administered Objects
Connections
Connection Methods
Sessions
General Session Methods
QueueSession Methods
TopicSession Methods
Message Producers
QueueSender
TopicPublisher
Message Consumers
MessageConsumer Methods
QueueReceiver & TopicSubscriber
Asynchronous Message Listeners
Messages
Messages Types
Message Headers
Message Properties
Message Methods
Review: JMS Architecture
Lab: JMS Architecture
JMS Application Implementation
The Point-to-Point Domain
The Pub-Sub Domain
Simple JMS Example
Simple JMS Example (2)
P2P vs. Pub/Sub
The Sender
Overall Sender Structure
Command Line Arguments
Lookup: Administered Objects
Lookup (2)
Creating the JMS Objects
Sending the Message(s)
Cleanup
The Receiver
Command Line Arguments
Lookups: Administered Objects
Receiving The Message(s)
Receiving the Message(s) P2P
Receiving the Message(s) Pub/Sub
Running the Application
Using Message Properties
Message Selectors
Asynchronous Consumption
Guaranteed Delivery
Message Acknowledgement
Review: JMS Implementation
Lab: JMS Implementation
Controlling Reliability of JMS Message Delivery
JMS Message Acknowledgement
Acknowledging Message Groups
Message Redelivery And Acknowledgement
Using Persistent Messages
Using Message Priorities
Allowing Messages to Expire
Creating Temporary Destinations
Using Durable Subscribers
Using JMS Transactions
Review: Reliability of JMS
Lab: Reliability in JMS
JMS, J2EE and Message-Driven EJBs
Creating Administered Objects
Distributed Transactions And JMS
J2EE Web Components and JMS
J2EE Application Deployment
Resource Management and JMS
Message-Driven EJBs
Message-Driven EJBs and State
Message-Driven EJB Life Cycle
A Simple Message-Driven EJB
Lifecycle Methods
The onMessage() method
The Deployment Descriptor
A Simple Client Application
JNDI Lookups
Sending the Message(s)
Cleanup
A Message-Driven EJB Scenario
Order Fulfillment Process
Review: Message-Driven EJBs
Lab: Message-Driven EJBs
Object-Based Messaging
Object-based Messaging Usage
Object-based Messaging Scenario
Objects Used In Scenario
Item Object
Order Object
LineItem Object
General Methods
Loading and Saving Objects
Application Workflow
The OrderClient
Creating the Orders
Setting Up The JMS Objects
Publishing The Order
Receiving The Replies
The FulfillmentServer
When To Use ObjectMessages
Review: Object-based Messaging
Lab: Object-based Messaging
JMS and XML
What is XML?
XML Applications
What XML Brings To JMS
What JMS Brings To XML
XML and JMS Applications
An XML and JMS Scenario
Application Workflow
The Order XML Document
The OrderClient
Creating The XML Document
Publishing The Order
The XMLFulfillmentServer
When To Use XML with JMS
Review: JMS and XML
Lab: JMS and XML