
Java Message Service
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Previous edition

Content
- Intro
- Java Message Service
- A Note Regarding Supplemental Files
- Foreword
- Preface
- Who Should Read This Book?
- Organization
- Software and Versions
- Conventions Used in This Book
- Using Code Examples
- Safari® Books Online
- How to Contact Us
- Acknowledgments
- Acknowledgments from the First Edition
- 1. Messaging Basics
- The Advantages of Messaging
- Heterogeneous Integration
- Reduce System Bottlenecks
- Increase Scalability
- Increase End User Productivity
- Architecture Flexibility and Agility
- Enterprise Messaging
- Centralized Architectures
- Decentralized Architectures
- Hybrid Architectures
- Centralized Architecture As a Model
- Messaging Models
- Point-to-Point
- Publish-and-Subscribe
- JMS API
- Point-to-Point API
- Publish-and-Subscribe API
- Real-World Scenarios
- Service-Oriented Architecture
- Event-Driven Architecture
- Heterogeneous Platform Integration
- Enterprise Application Integration
- Business-to-Business
- Geographic Dispersion
- Information Broadcasting
- Building Dynamic Systems
- RPC Versus Asynchronous Messaging
- Tightly Coupled RPC
- Enterprise Messaging
- 2. Developing a Simple Example
- The Chat Application
- Getting Started with the Chat Example
- Examining the Source Code
- Bootstrapping the JMS client
- Obtaining a JNDI connection
- The TopicConnectionFactory
- The TopicConnection
- The TopicSession
- The Topic
- The TopicPublisher
- The TopicSubscriber
- The Message
- Sessions and Threading
- 3. Anatomy of a JMS Message
- Headers
- Automatically Assigned Headers
- JMSDestination
- JMSDeliveryMode
- JMSMessageID
- JMSTimestamp
- JMSExpiration
- JMSRedelivered
- JMSPriority
- Developer-Assigned Headers
- JMSReplyTo
- JMSCorrelationID
- JMSType
- Properties
- Application-Specific Properties
- JMS-Defined Properties
- Provider-Specific Properties
- Message Types
- Message
- TextMessage
- ObjectMessage
- BytesMessage
- StreamMessage
- MapMessage
- Read-Only Messages
- Client-Acknowledged Messages
- Interoperability and Portability of Messages
- 4. Point-to-Point Messaging
- Point-to-Point Overview
- When to Use Point-to-Point Messaging
- The QBorrower and QLender Application
- Configuring and Running the Application
- The QBorrower Class
- JMS Initialization
- Sending the message and receiving the response
- The QLender Class
- Message Correlation
- Dynamic Versus Administered Queues
- Load Balancing Using Multiple Receivers
- Examining a Queue
- 5. Publish-and-Subscribe Messaging
- Publish-and-Subscribe Overview
- When to Use Publish-and-Subscribe Messaging
- The TBorrower and TLender Application
- Configuring and Running the Application
- The TLender Class
- JMS initialization
- Publishing the message
- The TBorrower Class
- Durable Versus Nondurable Subscribers
- Dynamic Versus Administered Subscribers
- Unsubscribing Dynamic Durable Subscribers
- Temporary Topics
- 6. Message Filtering
- Message Selectors
- Identifiers
- Literals
- Comparison Operators
- Arithmetic Operators
- Declaring a Message Selector
- Message Selector Examples
- Managing Claims in an HMO
- Notification of Certain Bids on Inventory
- Priority Handling
- Stock Trade Order Auditing
- Not Delivered Semantics
- Design Considerations
- 7. Guaranteed Messaging and Transactions
- Guaranteed Messaging
- Message Autonomy
- Store-and-Forward Messaging
- Message Acknowledgments and Failure Conditions
- Message Acknowledgments
- AUTO_ACKNOWLEDGE
- The message producer's perspective
- The message server's perspective
- The message consumer's perspective
- Message redelivery
- Point-to-point queues
- DUPS_OK_ACKNOWLEDGE
- CLIENT_ACKNOWLEDGE
- Grouping multiple messages
- Message Groups and Acknowledgment
- Handling Redelivery of Messages in an Application
- Message Groups Example
- Message Grouping and Multiple Receivers
- Transacted Messages
- Creating and Using a JMS Transaction
- Transacted Session Example
- Distributed Transactions
- Lost Connections
- The ExceptionListener Example
- Dead Message Queues
- 8. Java EE and Message-Driven Beans
- Java EE Overview
- Enterprise JavaBeans
- Enterprise JavaBeans 3.0 (EJB3) Overview
- Simplified Bean Development
- Dependency Injection
- Simplified Callback Methods
- Programmatic Defaults
- Interceptors
- Java Persistence API
- JMS Resources in Java EE
- The JNDI Environment Naming Context (ENC)
- Message-Driven Beans
- Concurrent Processing and Scalability
- Defining Message-Driven Beans
- Message-Driven Bean Use Cases
- Message Facade
- Transformation and Routing
- 9. Spring and JMS
- Spring Messaging Architecture
- JmsTemplate Overview
- Send Methods
- convertAndSend Methods
- receive and receiveSelected Methods
- receiveAndConvert Methods
- Connection Factories and JMS Destinations
- Using JNDI
- Using Native Classes
- Sending Messages
- Using the send Method
- Using the convertAndSend Method
- Using a Nondefault JMS Destination
- Receiving Messages Synchronously
- Message-Driven POJOs
- The Spring Message Listener Container
- MDP Option 1: Using the MessageListener Interface
- MDP Option 2: Using the SessionAwareMessageListener Interface
- MDP Option 3: Using the MessageListenerAdapter
- Default message handler method
- Custom message handler method
- Message Conversion Limitations
- The Spring JMS Namespace
- &jms:listener-container& Element Properties
- &jms:listener& Element Properties
- 10. Deployment Considerations
- Performance, Scalability, and Reliability
- Determining Message Throughput Requirements
- Testing the Real-World Scenario
- Testing with one client
- Send rate versus receive rate
- Determining hardware requirements
- Finding or building a test bed
- Long duration reliability
- Memory leaks
- To Multicast or Not to Multicast
- TCP/IP
- UDP
- IP Multicast
- Messaging Over IP Multicast
- Duplication, ordering, and reliability of messages
- Centralized and decentralized architectures
- Network routers and firewalls
- Some vendors support both centralized and decentralized architectures
- The Bottom Line
- Security
- Authentication
- Authorization
- Secure Communication
- Firewalls and HTTP Tunneling
- Connecting to the Outside World
- Bridging to Other Messaging Systems
- 11. Messaging Design Considerations
- Internal Versus External Destination
- Internal Destination Topology
- External Destination Topology
- Request/Reply Messaging Design
- Messaging Design Anti-Patterns
- Single-Purpose Queue
- Message Priority Overuse
- Message Header Misuse
- A. The Java Message Service API
- Message Interfaces
- BytesMessage
- MapMessage
- Message
- ObjectMessage
- StreamMessage
- TextMessage
- Common Facilities
- ConnectionMetaData
- DeliveryMode
- ExceptionListener
- JMSException
- MessageListener
- Common API
- Connection
- ConnectionFactory
- Destination
- MessageConsumer
- MessageProducer
- Session
- Point-to-Point API
- Queue
- QueueBrowser
- QueueConnection
- QueueConnectionFactory
- QueueReceiver
- QueueRequestor
- QueueSender
- QueueSession
- TemporaryQueue
- Publish-and-Subscribe API
- TemporaryTopic
- Topic
- TopicConnection
- TopicConnectionFactory
- TopicPublisher
- TopicRequestor
- TopicSession
- TopicSubscriber
- B. Message Headers
- JMSDestination
- JMSDeliveryMode
- JMSMessageID
- JMSTimestamp
- JMSExpiration
- JMSRedelivered
- JMSPriority
- JMSReplyTo
- JMSCorrelationID
- JMSType
- C. Message Properties
- Property Names
- Property Values
- Immutable Properties
- Property Value Conversion
- Nonexistent Properties
- Property Iteration
- JMS-Defined Properties
- Optional JMS-Defined Properties
- Group JMS-Defined Properties
- Provider-Specific Properties
- D. 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
- Index
- About the Authors
- Colophon
- Copyright
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.