Java Message Service
Richard Monson-Haefel
David A. Chappell
Publisher: O'Reilly
First Edition January 2001
ISBN: 0-596-00068-5, 238 pages
This book is a thorough introduction to Java Message Service (JMS) from Sun Microsystems. It shows how to build applications using the point-to-point and publish-and-subscribe models; use features like transactions and durable subscriptions to make applications reliable; and use messaging within Enterprise JavaBeans. It also introduces a new EJB type, the MessageDrivenBean, that is part of EJB 2.0, and discusses integration of messaging into J2EE.
Team[oR]
Table of Contents
Preface ..............................................................................................................................1
What Is the Java Message Service?.................................................................................1
Who Should Read This Book?........................................................................................1
Organization...................................................................................................................2
Software and Versions ....................................................................................................3
Conventions ...................................................................................................................4
Comments and Questions ...............................................................................................4
Acknowledgments ..........................................................................................................5
Chapter 1. Understanding the Messaging Paradigm ......................................................6
1.1 Enterprise Messaging................................................................................................7
1.2 The Java Message Service (JMS) ..............................................................................9
1.3 Application Scenarios .............................................................................................11
1.4 RPC Versus Asynchronous Messaging ................................................................... 15
Chapter 2. Developing a Simple Example ..................................................................... 19
2.1 The Chat Application..............................................................................................19
Chapter 3. Anatomy of a JMS Message......................................................................... 33
3.1 Headers...................................................................................................................34
3.2 Properties................................................................................................................38
3.3 Message Selectors...................................................................................................40
3.4 Message Types ....................................................................................................... 42
Chapter 4. Publish-and-Subscribe Messaging...............................................................53
4.1 Getting Started with the B2B Application ...............................................................53
4.2 Temporary Topics................................................................................................... 60
4.3 Durable Subscriptions .............................................................................................61
4.4 Publishing the Message Persistently........................................................................63
4.5 JMSCorrelationID...................................................................................................64
4.6 Request and Reply .................................................................................................. 65
4.7 Unsubscribing......................................................................................................... 68
Chapter 5. Point-to-Point Messaging.............................................................................69
5.1 Point-to-Point and Publish-and-Subscribe ...............................................................69
5.2 The QWholesaler and QRetailer..............................................................................71
5.3 Creating a Queue Dynamically ...............................................................................78
5.4 Load Balancing Using Multiple QueueSessions ......................................................79
5.5 Examining a Queue................................................................................................. 80
Chapter 6. Guaranteed Messaging, Transactions, Acknowledgments & Failures ...... 84
6.1 Guaranteed Messaging ............................................................................................84
6.2 Message Acknowledgments....................................................................................85
6.3 Message Groups and Acknowledgment...................................................................91
6.4 Transacted Messages ..............................................................................................95
6.5 Lost Connections .................................................................................................. 104
6.6 Dead Message Queues .......................................................................................... 106
Chapter 7. Deployment Considerations....................................................................... 108
7.1 Performance, Scalability, and Reliability .............................................................. 108
7.2 To Multicast or Not to Multicast ........................................................................... 112
7.3 Security ................................................................................................................ 116
7.4 Connecting to the Outside World .......................................................................... 118
7.5 Bridging to Other Messaging Systems .................................................................. 120
Chapter 8. J2EE, EJB, and JMS.................................................................................. 122
8.1 J2EE Overview ..................................................................................................... 122
8.2 J2EE: A United Platform ...................................................................................... 125
8.3 The JMS Resource in J2EE................................................................................... 126
8.4 The New Message-Driven Bean in EJB 2.0........................................................... 128
Chapter 9. JMS Providers............................................................................................ 133
9.1 IBM: MQSeries .................................................................................................... 133
9.2 Progress: SonicMQ ............................................................................................... 134
9.3 Fiorano: FioranoMQ ............................................................................................. 135
9.4 Softwired: iBus ..................................................................................................... 136
9.5 Sun Microsystems: Java Message Queue .............................................................. 138
Next page