-
Chapter 1 Messaging Basics
-
The Advantages of Messaging
-
Enterprise Messaging
-
Messaging Models
-
JMS API
-
Real-World Scenarios
-
RPC Versus Asynchronous Messaging
-
-
Chapter 2 Developing a Simple Example
-
The Chat Application
-
-
Chapter 3 Anatomy of a JMS Message
-
Headers
-
Properties
-
Message Types
-
-
Chapter 4 Point-to-Point Messaging
-
Point-to-Point Overview
-
The QBorrower and QLender Application
-
Message Correlation
-
Dynamic Versus Administered Queues
-
Load Balancing Using Multiple Receivers
-
Examining a Queue
-
-
Chapter 5 Publish-and-Subscribe Messaging
-
Publish-and-Subscribe Overview
-
The TBorrower and TLender Application
-
Durable Versus Nondurable Subscribers
-
Dynamic Versus Administered Subscribers
-
Unsubscribing Dynamic Durable Subscribers
-
Temporary Topics
-
-
Chapter 6 Message Filtering
-
Message Selectors
-
Declaring a Message Selector
-
Message Selector Examples
-
Not Delivered Semantics
-
Design Considerations
-
-
Chapter 7 Guaranteed Messaging and Transactions
-
Guaranteed Messaging
-
Message Acknowledgments
-
Message Groups and Acknowledgment
-
Transacted Messages
-
Lost Connections
-
Dead Message Queues
-
-
Chapter 8 Java EE and Message-Driven Beans
-
Java EE Overview
-
Enterprise JavaBeans 3.0 (EJB3) Overview
-
JMS Resources in Java EE
-
Message-Driven Beans
-
Message-Driven Bean Use Cases
-
-
Chapter 9 Spring and JMS
-
Spring Messaging Architecture
-
JmsTemplate Overview
-
Connection Factories and JMS Destinations
-
Sending Messages
-
Receiving Messages Synchronously
-
Message-Driven POJOs
-
The Spring JMS Namespace
-
-
Chapter 10 Deployment Considerations
-
Performance, Scalability, and Reliability
-
To Multicast or Not to Multicast
-
Security
-
Connecting to the Outside World
-
Bridging to Other Messaging Systems
-
-
Chapter 11 Messaging Design Considerations
-
Internal Versus External Destination
-
Request/Reply Messaging Design
-
Messaging Design Anti-Patterns
-
-
Appendix The Java Message Service API
-
Message Interfaces
-
Common Facilities
-
Common API
-
Point-to-Point API
-
Publish-and-Subscribe API
-
-
Appendix Message Headers
-
Appendix Message Properties
-
Property Names
-
Property Values
-
Immutable Properties
-
Property Value Conversion
-
Nonexistent Properties
-
Property Iteration
-
JMS-Defined Properties
-
Provider-Specific Properties
-
-
Appendix Installing and Configuring ActiveMQ
-
Installing ActiveMQ
-
Configuring ActiveMQ for JNDI
-
Configuration For Chat Examples
-
Configuration for P2P Examples
-
Configuration for Pub/Sub Examples
-
Configuration for Spring JMS Examples
-
-
Colophon
- Title:
- Java Message Service, Second Edition
- By:
- Mark Richards
- Publisher:
- O'Reilly Media
- Formats:
-
- Ebook
- Safari Books Online
- Print Release:
- May 2009
- Ebook Release:
- May 2009
- Pages:
- 336
- Print ISBN:
- 978-0-596-52204-9
- | ISBN 10:
- 0-596-52204-5
- Ebook ISBN:
- 978-0-596-80221-9
- | ISBN 10:
- 0-596-80221-8
The image on the cover of Java Message Service, Second Edition, is a passenger pigeon (Ectopistes migratorius), an extinct species. In the mid-1800s, passenger pigeons were the most numerous birds in North America. Several flocks, each numbering more than two billion birds, lived in various habitats east of the Rocky Mountains. Flocks migrated en masse in search of food, without regard to season, and a good food source could keep a flock in one place for years at a time. John James Audubon observed that nearly the entire passenger pigeon population once stayed in Kentucky for several years and was seen nowhere else during this time.
Whole flocks roosted together in small areas, and the weight of so many birds--often up to 90 nests in a single tree--resulted in the destruction of forests, as tree limbs and even entire trees toppled. (The accumulated inches of bird dung on the ground didn't help.) Such roosting habits, combined with high infant mortality and the fact that female passenger pigeons laid a single egg in a flimsy nest, did not bode well for the longterm survival of the species.
It was humans harvesting passenger pigeons for food, however, that drove them to extinction. In 1855, a single operation was processing 18,000 birds per day! Not even Audubon himself was concerned that the pace might have an adverse effect on the birds' population, but the last passenger pigeon died in the Cincinnati Zoo in 1914.
The cover image is a 19th-century engraving from the Dover Pictorial Archive. The cover font is Adobe ITC Garamond. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is LucasFont's TheSansMonoCondensed.
