Java message service [creating distributed enterprise applications ; updated for JMS 1.1]
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Sebastopol, Calif.
O'Reilly
2009
|
Ausgabe: | 2. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035756300 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t| | ||
008 | 091006s2009 xx d||| |||| 00||| eng d | ||
020 | |a 0596522045 |9 0-596-52204-5 | ||
020 | |a 9780596522049 |9 978-0-596-52204-9 | ||
035 | |a (OCoLC)699244719 | ||
035 | |a (DE-599)GBV593144953 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-83 |a DE-522 | ||
082 | 0 | |a 005.71262 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
100 | 1 | |a Richards, Mark |d 1955- |e Verfasser |0 (DE-588)133450287 |4 aut | |
245 | 1 | 0 | |a Java message service |b [creating distributed enterprise applications ; updated for JMS 1.1] |c Mark Richards, Richard Monson-Haefel and David A. Chappell |
250 | |a 2. ed. | ||
264 | 1 | |a Sebastopol, Calif. |b O'Reilly |c 2009 | |
300 | |a XX, 305 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Java Message Service |0 (DE-588)4620643-7 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Java |g Programmiersprache |0 (DE-588)4401313-9 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Java Message Service |0 (DE-588)4620643-7 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
700 | 1 | |a Monson-Haefel, Richard |e Verfasser |4 aut | |
700 | 1 | |a Chappell, David A. |e Verfasser |4 aut | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018616262&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-018616262 |
Datensatz im Suchindex
_version_ | 1819643062979133440 |
---|---|
adam_text | Titel: Java Message Service
Autor: Richards, Mark
Jahr: 2009
Table of Contents
Foreword xi
Preface xiii
1. Messaging Basics 1
The Advantages of Messaging 3
Heterogeneous Integration 3
Reduce System Bottlenecks 3
Increase Scalability 4
Increase End User Productivity 4
Architecture Flexibility and Agility 5
Enterprise Messaging 5
Centralized Architectures 7
Decentralized Architectures 7
Hybrid Architectures 8
Centralized Architecture As a Model 8
Messaging Models 9
Point-to-Point 10
Publish-and-Subscribe 10
JMSAPI 11
Point-to-Point API 13
Publish-and-Subscribe API 14
Real-World Scenarios 14
Service-Oriented Architecture 15
Event-Driven Architecture 16
Heterogeneous Platform Integration 16
Enterprise Application Integration 17
Business-to-Business 17
Geographic Dispersion 18
Information Broadcasting 18
Building Dynamic Systems 18
RPC Versus Asynchronous Messaging 21
Tightly Coupled RPC 21
Enterprise Messaging 23
2. Developing a Simple Example 25
The Chat Application 25
Getting Started with the Chat Example 28
Examining the Source Code 30
Sessions and Threading 39
3. Anatomy of a JMS Message 41
Headers 42
Automatically Assigned Headers 43
Developer-Assigned Headers 46
Properties 47
Application-Specific Properties 47
JMS-Defined Properties 49
Provider-Specific Properties 50
Message Types 50
Message 50
TextMessage 51
ObjectMessage 52
BytesMessage 53
StreamMessage 56
MapMessage 58
Read-Only Messages 60
Client-Acknowledged Messages 61
Interoperability and Portability of Messages 61
4. Point-to-Point Messaging 63
Point-to-Point Overview 63
When to Use Point-to-Point Messaging 66
The QBorrower and QLender Application 67
Configuring and Running the Application 67
The QBorrower Class 69
The QLender Class 76
Message Correlation 81
Dynamic Versus Administered Queues 83
Load Balancing Using Multiple Receivers 84
Examining a Queue 85
5. Publish-and-Subscribe Messaging 87
Publish-and-Subscribe Overview 87
When to Use Publish-and-Subscribe Messaging 89
The TBorrower and TLender Application 90
Configuring and Running the Application 90
The TLender Class 92
The TBorrower Class 96
Durable Versus Nondurable Subscribers 100
Dynamic Versus Administered Subscribers 101
Unsubscribing Dynamic Durable Subscribers 104
Temporary Topics 104
6. Message Filtering 107
Message Selectors 109
Identifiers 110
Literals 111
Comparison Operators 111
Arithmetic Operators 113
Declaring a Message Selector 114
Message Selector Examples 116
Managing Claims in an HMO 116
Notification of Certain Bids on Inventory 116
Priority Handling 116
Stock Trade Order Auditing 117
Not Delivered Semantics 117
Design Considerations 118
7. Guaranteed Messaging and Transactions 125
Guaranteed Messaging 125
Message Autonomy 126
Store-and-Forward Messaging 126
Message Acknowledgments and Failure Conditions 126
Message Acknowledgments 12
AUTO_ACKNOWLEDGE 127
DUPS_OK_ACKNOWLEDGE 132
CLIENT_ACKNOWLEDGE 132
Message Groups and Acknowledgment 133
Handling Redelivery of Messages in an Application 134
Message Groups Example 134
Message Grouping and Multiple Receivers 143
Transacted Messages
Creating and Using a JMS Transaction 147
Transacted Session Example I47
Distributed Transactions
Lost Connections
The ExceptionListener Example 152
Dead Message Queues 153
8. Java EEand Message-Driven Beans 155
Java EE Overview 155
Enterprise JavaBeans 1-56
Enterprise JavaBeans 3.0 (EJB3) Overview 157
Simplified Bean Development 158
Dependency Injection 158
Simplified Callback Methods 159
Programmatic Defaults 159
Interceptors 160
Java Persistence API 162
JMS Resources in Java EE 162
The JNDI Environment Naming Context (ENC) 164
Message-Driven Beans 166
Concurrent Processing and Scalability 168
Defining Message-Driven Beans 168
Message-Driven Bean Use Cases 171
Message Facade 171
Transformation and Routing 173
9. SpringandJMS 177
Spring Messaging Architecture 177
JmsTemplate Overview 180
Send Methods 181
convertAndSend Methods 181
receive and receiveSelected Methods 182
receiveAndConvert Methods 183
Connection Factories and JMS Destinations 184
Using JNDI 184
Using Native Classes 187
Sending Messages 189
Using the send Method 190
Using the convertAndSend Method 191
Using a Nondefault JMS Destination 193
Receiving Messages Synchronously 195
Message-Driven POJOs 198
The Spring Message Listener Container 198
MDP Option 1: Using the MessageListener Interface 199
MDP Option 2: Using the SessionAwareMessageListener Interface 201
MDP Option 3: Using the MessageListenerAdapter 202
Message Conversion Limitations 207
The Spring JMS Namespace 208
jms:listener-container Element Properties 209
jms:listener Element Properties 211
10. Deployment Considerations 213
Performance, Scalability, and Reliability 213
Determining Message Throughput Requirements 213
Testing the Real-World Scenario 214
To Multicast or Not to Multicast 217
TCP/IP 218
UDP 218
IP Multicast 218
Messaging Over IP Multicast 219
The Bottom Line 221
Security 222
Authentication 222
Authorization 223
Secure Communication 224
Firewalls and HTTP Tunneling 224
Connecting to the Outside World 225
Bridging to Other Messaging Systems 227
11. Messaging Design Considerations 229
Internal Versus External Destination 229
Internal Destination Topology 230
External Destination Topology 231
Request/Reply Messaging Design 232
Messaging Design Anti-Patterns 236
Single-Purpose Queue 236
Message Priority Overuse 240
Message Header Misuse 240
A. The Java Message Service API 245
B. Message Headers 265
C. Message Properties 277
D. Installing and Configuring ActiveMQ 285
Index 291
|
any_adam_object | 1 |
author | Richards, Mark 1955- Monson-Haefel, Richard Chappell, David A. |
author_GND | (DE-588)133450287 |
author_facet | Richards, Mark 1955- Monson-Haefel, Richard Chappell, David A. |
author_role | aut aut aut |
author_sort | Richards, Mark 1955- |
author_variant | m r mr r m h rmh d a c da dac |
building | Verbundindex |
bvnumber | BV035756300 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)699244719 (DE-599)GBV593144953 |
dewey-full | 005.71262 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.71262 |
dewey-search | 005.71262 |
dewey-sort | 15.71262 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 2. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01738nam a2200421 c 4500</leader><controlfield tag="001">BV035756300</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t|</controlfield><controlfield tag="008">091006s2009 xx d||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0596522045</subfield><subfield code="9">0-596-52204-5</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780596522049</subfield><subfield code="9">978-0-596-52204-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)699244719</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)GBV593144953</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-83</subfield><subfield code="a">DE-522</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.71262</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Richards, Mark</subfield><subfield code="d">1955-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)133450287</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Java message service</subfield><subfield code="b">[creating distributed enterprise applications ; updated for JMS 1.1]</subfield><subfield code="c">Mark Richards, Richard Monson-Haefel and David A. Chappell</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Sebastopol, Calif.</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XX, 305 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java Message Service</subfield><subfield code="0">(DE-588)4620643-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Java</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4401313-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Java Message Service</subfield><subfield code="0">(DE-588)4620643-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Monson-Haefel, Richard</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Chappell, David A.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018616262&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-018616262</subfield></datafield></record></collection> |
id | DE-604.BV035756300 |
illustrated | Illustrated |
indexdate | 2024-12-23T22:42:15Z |
institution | BVB |
isbn | 0596522045 9780596522049 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-018616262 |
oclc_num | 699244719 |
open_access_boolean | |
owner | DE-83 DE-522 |
owner_facet | DE-83 DE-522 |
physical | XX, 305 S. graph. Darst. |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | O'Reilly |
record_format | marc |
spellingShingle | Richards, Mark 1955- Monson-Haefel, Richard Chappell, David A. Java message service [creating distributed enterprise applications ; updated for JMS 1.1] Java Message Service (DE-588)4620643-7 gnd Java Programmiersprache (DE-588)4401313-9 gnd |
subject_GND | (DE-588)4620643-7 (DE-588)4401313-9 |
title | Java message service [creating distributed enterprise applications ; updated for JMS 1.1] |
title_auth | Java message service [creating distributed enterprise applications ; updated for JMS 1.1] |
title_exact_search | Java message service [creating distributed enterprise applications ; updated for JMS 1.1] |
title_full | Java message service [creating distributed enterprise applications ; updated for JMS 1.1] Mark Richards, Richard Monson-Haefel and David A. Chappell |
title_fullStr | Java message service [creating distributed enterprise applications ; updated for JMS 1.1] Mark Richards, Richard Monson-Haefel and David A. Chappell |
title_full_unstemmed | Java message service [creating distributed enterprise applications ; updated for JMS 1.1] Mark Richards, Richard Monson-Haefel and David A. Chappell |
title_short | Java message service |
title_sort | java message service creating distributed enterprise applications updated for jms 1 1 |
title_sub | [creating distributed enterprise applications ; updated for JMS 1.1] |
topic | Java Message Service (DE-588)4620643-7 gnd Java Programmiersprache (DE-588)4401313-9 gnd |
topic_facet | Java Message Service Java Programmiersprache |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018616262&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT richardsmark javamessageservicecreatingdistributedenterpriseapplicationsupdatedforjms11 AT monsonhaefelrichard javamessageservicecreatingdistributedenterpriseapplicationsupdatedforjms11 AT chappelldavida javamessageservicecreatingdistributedenterpriseapplicationsupdatedforjms11 |