Jump To Close Expand all Collapse all Table of contents HornetQ User Guide 1. Introduction 2. Migrating to HornetQ Expand section "2. Migrating to HornetQ" Collapse section "2. Migrating to HornetQ" 2.1. Before You Migrate Expand section "2.1. Before You Migrate" Collapse section "2.1. Before You Migrate" 2.1.1. Back up relevant data 2.2. Application Code 2.3. Client-side Failure Handling 2.4. Installing HornetQ 2.5. Server Configuration Migration 2.6. Migrating JMS-administered Objects and Bridges 2.7. Other Configuration in JBoss Messaging 2.8. Migrating Existing Messages 2.9. Applications that use management APIs 3. Messaging Concepts Expand section "3. Messaging Concepts" Collapse section "3. Messaging Concepts" 3.1. Messaging Concepts 3.2. Messaging styles Expand section "3.2. Messaging styles" Collapse section "3.2. Messaging styles" 3.2.1. The Point-To-Point Pattern 3.2.2. The Publish-Subscribe Pattern 3.3. Delivery guarantees 3.4. Transactions 3.5. Durability 3.6. Messaging APIs and protocols Expand section "3.6. Messaging APIs and protocols" Collapse section "3.6. Messaging APIs and protocols" 3.6.1. Java Message Service (JMS) 3.6.2. System specific APIs 3.7. High Availability 3.8. Clusters 3.9. Bridges and routing 4. Core Architecture 5. Using the Server Expand section "5. Using the Server" Collapse section "5. Using the Server" 5.1. Library Path 5.2. System properties 5.3. Configuration files 5.4. The Main Configuration File 6. Using JMS Expand section "6. Using JMS" Collapse section "6. Using JMS" 6.1. A Simple Ordering System - Configuration Example Expand section "6.1. A Simple Ordering System - Configuration Example" Collapse section "6.1. A Simple Ordering System - Configuration Example" 6.1.1. JMS Server Configuration 6.1.2. Connection Factory Types 6.1.3. The code 6.2. Directly Instantiating JMS Resources Without Using JNDI 6.3. Setting The Client ID 6.4. Setting The Batch Size for DUPS_OK 6.5. Setting The Transaction Batch Size 7. Using Core Expand section "7. Using Core" Collapse section "7. Using Core" 7.1. Core Messaging Concepts Expand section "7.1. Core Messaging Concepts" Collapse section "7.1. Core Messaging Concepts" 7.1.1. Message 7.1.2. Address 7.1.3. Queue 7.1.4. ClientSessionFactory 7.1.5. ClientSession 7.1.6. ClientConsumer 7.1.7. ClientProducer 7.2. Simple Core Example 8. Mapping JMS Concepts to the Core API 9. The Client Classpath Expand section "9. The Client Classpath" Collapse section "9. The Client Classpath" 9.1. HornetQ Core Client 9.2. JMS Client 9.3. JMS Client with JNDI 10. Routing Messages With Wild Cards 11. Understanding the HornetQ Wildcard Syntax 12. Filter Expressions 13. Persistence Expand section "13. Persistence" Collapse section "13. Persistence" 13.1. Configuring the bindings journal 13.2. Configuring the JMS journal 13.3. Configuring the message journal 13.4. Configuring HornetQ for Zero Persistence 13.5. Import/Export the Journal Data 14. Configuring the Transport Expand section "14. Configuring the Transport" Collapse section "14. Configuring the Transport" 14.1. Understanding Acceptors 14.2. Understanding Connectors 14.3. Configuring the transport directly from the client side 14.4. Configuring the Netty transport Expand section "14.4. Configuring the Netty transport" Collapse section "14.4. Configuring the Netty transport" 14.4.1. Configuring Netty TCP 14.4.2. Configuring Netty SSL 14.4.3. Configuring Netty HTTP 14.4.4. Configuring Netty Servlet 15. Detecting Dead Connections Expand section "15. Detecting Dead Connections" Collapse section "15. Detecting Dead Connections" 15.1. Cleaning up Dead Connection Resources on the Server Expand section "15.1. Cleaning up Dead Connection Resources on the Server" Collapse section "15.1. Cleaning up Dead Connection Resources on the Server" 15.1.1. Closing core sessions or JMS connections that have failed to close 15.2. Detecting failure from the client side. 15.3. Configuring Asynchronous Connection Execution 16. Resource Manager Configuration 17. Flow Control Expand section "17. Flow Control" Collapse section "17. Flow Control" 17.1. Consumer Flow Control Expand section "17.1. Consumer Flow Control" Collapse section "17.1. Consumer Flow Control" 17.1.1. Window-Based Flow Control 17.1.2. Rate limited flow control 17.2. Producer flow control Expand section "17.2. Producer flow control" Collapse section "17.2. Producer flow control" 17.2.1. Window based flow control 17.2.2. Rate limited flow control 18. Guarantees of sends and commits Expand section "18. Guarantees of sends and commits" Collapse section "18. Guarantees of sends and commits" 18.1. Guarantees of Transaction Completion 18.2. Guarantees of Non Transactional Message Sends 18.3. Guarantees of Non-Transactional Acknowledgments 18.4. Asynchronous Send Acknowledgments Expand section "18.4. Asynchronous Send Acknowledgments" Collapse section "18.4. Asynchronous Send Acknowledgments" 18.4.1. Asynchronous Send Acknowledgments 19. Message Redelivery and Undelivered Messages Expand section "19. Message Redelivery and Undelivered Messages" Collapse section "19. Message Redelivery and Undelivered Messages" 19.1. Delayed Redelivery Expand section "19.1. Delayed Redelivery" Collapse section "19.1. Delayed Redelivery" 19.1.1. Configuring Delayed Redelivery 19.2. Dead Letter Addresses Expand section "19.2. Dead Letter Addresses" Collapse section "19.2. Dead Letter Addresses" 19.2.1. Configuring Dead Letter Addresses 19.2.2. Dead Letter Properties 19.3. Delivery Count Persistence 20. Message Expiry Expand section "20. Message Expiry" Collapse section "20. Message Expiry" 20.1. Message Expiry 20.2. Configuring Expiry Addresses 20.3. Configuring The Expiry Reaper Thread 21. Large Messages Expand section "21. Large Messages" Collapse section "21. Large Messages" 21.1. Configuring the server 21.2. Setting the limits Expand section "21.2. Setting the limits" Collapse section "21.2. Setting the limits" 21.2.1. Using Core API 21.2.2. Using JMS 21.3. Streaming large messages Expand section "21.3. Streaming large messages" Collapse section "21.3. Streaming large messages" 21.3.1. Streaming over Core API 21.3.2. Streaming over JMS 21.4. Streaming Alternative 21.5. Cache Large Messages on client 22. Paging Expand section "22. Paging" Collapse section "22. Paging" 22.1. Page Files 22.2. Configuration 22.3. Paging Mode Expand section "22.3. Paging Mode" Collapse section "22.3. Paging Mode" 22.3.1. Configuration 22.4. Dropping messages 22.5. Blocking producers 22.6. Caution with Addresses with Multiple Queues 23. Queue Attributes Expand section "23. Queue Attributes" Collapse section "23. Queue Attributes" 23.1. Predefined Queues 23.2. Using the API 23.3. Configuring Queues Through Address Settings 24. Scheduled Messages Expand section "24. Scheduled Messages" Collapse section "24. Scheduled Messages" 24.1. Scheduled Delivery Property 25. Last-Value Queues Expand section "25. Last-Value Queues" Collapse section "25. Last-Value Queues" 25.1. Configuring Last-Value Queues 25.2. Using Last-Value Property 26. Message Grouping Expand section "26. Message Grouping" Collapse section "26. Message Grouping" 26.1. Using Core API 26.2. Using JMS 26.3. Clustered Grouping Expand section "26.3. Clustered Grouping" Collapse section "26.3. Clustered Grouping" 26.3.1. Clustered Grouping Best Practices 27. Pre-Acknowledge Mode Expand section "27. Pre-Acknowledge Mode" Collapse section "27. Pre-Acknowledge Mode" 27.1. Using PRE_ACKNOWLEDGE 28. Management Expand section "28. Management" Collapse section "28. Management" 28.1. The Management API Expand section "28.1. The Management API" Collapse section "28.1. The Management API" 28.1.1. Core Management API 28.1.2. JMS Management API 28.2. Using Management Via JMX Expand section "28.2. Using Management Via JMX" Collapse section "28.2. Using Management Via JMX" 28.2.1. Configuring JMX 28.3. Using Management Via Core API Expand section "28.3. Using Management Via Core API" Collapse section "28.3. Using Management Via Core API" 28.3.1. Configuring Core Management 28.4. Using Management Via JMS Expand section "28.4. Using Management Via JMS" Collapse section "28.4. Using Management Via JMS" 28.4.1. Configuring JMS Management 28.5. Management Notifications Expand section "28.5. Management Notifications" Collapse section "28.5. Management Notifications" 28.5.1. JMX Notifications 28.5.2. Core Messages Notifications 28.5.3. JMS Messages Notifications 28.6. Message Counters Expand section "28.6. Message Counters" Collapse section "28.6. Message Counters" 28.6.1. Configuring Message Counters 28.7. Administering HornetQ Resources Using the Admin Console Expand section "28.7. Administering HornetQ Resources Using the Admin Console" Collapse section "28.7. Administering HornetQ Resources Using the Admin Console" 28.7.1. JMS Queues 28.7.2. JMS Topics 28.7.3. JMS Connection Factories 29. Security Expand section "29. Security" Collapse section "29. Security" 29.1. Role based security for addresses 29.2. Secure Sockets Layer (SSL) Transport 29.3. Basic user credentials 29.4. Changing the security manager 29.5. JAAS Security Manager 29.6. HornetQ Security Manager Expand section "29.6. HornetQ Security Manager" Collapse section "29.6. HornetQ Security Manager" 29.6.1. Configuring Client Login 29.7. Changing the Security Domain 29.8. Changing the user name/password for clustering 30. Application Server Integration and Java EE Expand section "30. Application Server Integration and Java EE" Collapse section "30. Application Server Integration and Java EE" 30.1. Configuring Message-Driven Beans Expand section "30.1. Configuring Message-Driven Beans" Collapse section "30.1. Configuring Message-Driven Beans" 30.1.1. Using Container-Managed Transactions 30.1.2. Using Bean-Managed Transactions 30.1.3. Using Message Selectors with Message-Driven Beans 30.1.4. High Availability in Message-driven Beans 30.2. Sending Messages from within Java EE components 30.3. MDB and Consumer pool size 30.4. Configuring the JCA Adaptor Expand section "30.4. Configuring the JCA Adaptor" Collapse section "30.4. Configuring the JCA Adaptor" 30.4.1. JCA Global Properties 30.4.2. JCA Outbound Configuration 30.4.3. JCA Inbound Configuration 30.4.4. High Availability JNDI (HA-JNDI) 30.4.5. XA Recovery 31. The JMS Bridge Expand section "31. The JMS Bridge" Collapse section "31. The JMS Bridge" 31.1. JMS Bridge Parameters 31.2. Source and Target Connection Factories 31.3. Source and Target Destination Factories 31.4. Quality Of Service Modes Expand section "31.4. Quality Of Service Modes" Collapse section "31.4. Quality Of Service Modes" 31.4.1. AT_MOST_ONCE 31.4.2. DUPLICATES_OK 31.4.3. ONCE_AND_ONLY_ONCE 31.4.4. Time outs and the JMS bridge 32. Client Reconnection and Session Reattachment Expand section "32. Client Reconnection and Session Reattachment" Collapse section "32. Client Reconnection and Session Reattachment" 32.1. 100% Transparent session re-attachment 32.2. Session reconnection 32.3. Configuring reconnection/reattachment attributes 33. Diverting and Splitting Message Flows Expand section "33. Diverting and Splitting Message Flows" Collapse section "33. Diverting and Splitting Message Flows" 33.1. Exclusive Diverts 33.2. Non-exclusive Diverts 34. Core Bridges Expand section "34. Core Bridges" Collapse section "34. Core Bridges" 34.1. Configuring Bridges 35. Duplicate Message Detection Expand section "35. Duplicate Message Detection" Collapse section "35. Duplicate Message Detection" 35.1. Using Duplicate Detection for Message Sending 35.2. Configuring the Duplicate ID Cache 35.3. Duplicate Detection and Bridges 35.4. Duplicate Detection and Cluster Connections 35.5. Duplicate Detection and Paging 36. Clusters Expand section "36. Clusters" Collapse section "36. Clusters" 36.1. Clusters Overview 36.2. Server discovery Expand section "36.2. Server discovery" Collapse section "36.2. Server discovery" 36.2.1. Broadcast Groups 36.2.2. Discovery Groups 36.2.3. Defining Discovery Groups on the Server 36.2.4. Discovery Groups on the Client Side 36.3. Server-Side Message Load Balancing Expand section "36.3. Server-Side Message Load Balancing" Collapse section "36.3. Server-Side Message Load Balancing" 36.3.1. Configuring Cluster Connections 36.3.2. Cluster User Credentials 36.4. Client-Side Load balancing 36.5. Specifying Members of a Cluster Explicitly Expand section "36.5. Specifying Members of a Cluster Explicitly" Collapse section "36.5. Specifying Members of a Cluster Explicitly" 36.5.1. Specify List of Servers on the Client Side 36.5.2. Specifying a Static Cluster Server List 36.6. Message Redistribution 36.7. Cluster topologies Expand section "36.7. Cluster topologies" Collapse section "36.7. Cluster topologies" 36.7.1. Symmetric cluster 36.7.2. Chain cluster 37. High Availability and Fail-over Expand section "37. High Availability and Fail-over" Collapse section "37. High Availability and Fail-over" 37.1. Live - Backup Pairs Expand section "37.1. Live - Backup Pairs" Collapse section "37.1. Live - Backup Pairs" 37.1.1. HA modes 37.1.2. Shared Store 37.2. Fail-over Modes Expand section "37.2. Fail-over Modes" Collapse section "37.2. Fail-over Modes" 37.2.1. Automatic Client fail-over 37.2.2. Getting Notified of Connection Failure 37.2.3. Application-Level fail-over 37.3. Fencing 38. Colocated and Dedicated Symmetrical Cluster Configuration Expand section "38. Colocated and Dedicated Symmetrical Cluster Configuration" Collapse section "38. Colocated and Dedicated Symmetrical Cluster Configuration" 38.1. Colocated Symmetrical Live and Backup Cluster Expand section "38.1. Colocated Symmetrical Live and Backup Cluster" Collapse section "38.1. Colocated Symmetrical Live and Backup Cluster" 38.1.1. Colocated Live Server 38.1.2. Colocated Backup Server 38.2. Dedicated Symmetrical Live and Backup Clusters Expand section "38.2. Dedicated Symmetrical Live and Backup Clusters" Collapse section "38.2. Dedicated Symmetrical Live and Backup Clusters" 38.2.1. Dedicated JCA Live Server 38.2.2. Dedicated JCA Backup Server 38.2.3. Dedicated Remote Server 39. Libaio Native Libraries 40. Thread management Expand section "40. Thread management" Collapse section "40. Thread management" 40.1. Server-Side Thread Management Expand section "40.1. Server-Side Thread Management" Collapse section "40.1. Server-Side Thread Management" 40.1.1. Server Scheduled Thread Pool 40.1.2. General Purpose Server Thread Pool 40.1.3. Expiry Reaper Thread 40.1.4. Asynchronous IO 40.2. Client-Side Thread Management 41. Logging 42. Intercepting Operations Expand section "42. Intercepting Operations" Collapse section "42. Intercepting Operations" 42.1. Implementing The Interceptors 42.2. Configuring The Interceptors 42.3. Interceptors on the Client Side 43. Performance Tuning Expand section "43. Performance Tuning" Collapse section "43. Performance Tuning" 43.1. Tuning Persistence 43.2. Tuning JMS 43.3. Other Tunings 43.4. Tuning Transport Settings 43.5. Avoiding Anti-Patterns A. Configuration Reference Expand section "A. Configuration Reference" Collapse section "A. Configuration Reference" A.1. Server Configuration Expand section "A.1. Server Configuration" Collapse section "A.1. Server Configuration" A.1.1. hornetq-configuration.xml A.1.2. hornetq-configuration.xsd Reference A.1.3. An Example hornetq-configuration.xml A.1.4. hornetq-jms.xml B. ra.xml HornetQ Resource Adapter File C. Revision History Legal Notice Settings Close Language: 日本語 English Language: 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: 日本語 English Language: 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF 28.7.3. JMS Connection Factories The format for creating connection factories is similar to JMS queues and topics. For a list of all the connection factory settings, refer to Section A.1.4, “hornetq-jms.xml”. Previous Next