Who Should Use This Book
Before You Read This Book
How This Book Is Organized
Documentation Conventions
Related Documentation
Administrative Tasks
Administration in a Development Environment
Administration in a Production Environment
Setup Operations
Maintenance Operations
Administration Tools
Built-in Administration Tools
Command Line Utilities
Administration Console
JMX-Based Administration
Starting the Administration Console
Administration Console Online Help
Working With Brokers
Starting a Broker
Adding a Broker to the Administration Console
To Add a Broker to the Administration Console
Connecting to a Broker
To Connect to a Broker
Viewing Connection Services
To View Available Connection Services
Working With Physical Destinations
Creating a Physical Destination
To Add a Physical Destination to a Broker
Viewing Physical Destination Properties
To View or Modify the Properties of a Physical Destination
Purging Messages From a Physical Destination
To Purge Messages From a Physical Destination
Deleting a Physical Destination
To Delete a Physical Destination
Working With Object Stores
Adding an Object Store
To Add an Object Store to the Administration Console
Connecting to an Object Store
To Connect to an Object Store
Working With Administered Objects
Adding a Connection Factory
To Add a Connection Factory to an Object Store
Adding a Destination
To Add a Destination to an Object Store
Viewing Administered Object Properties
To View or Modify the Properties of an Administered Object
Deleting an Administered Object
To Delete an Administered Object
Running the Sample Application
To Run the Sample Application
Preparing System Resources
Synchronizing System Clocks
Setting the File Descriptor Limit
Starting Brokers
Starting Brokers Interactively
Starting Brokers Automatically
Automatic Broker Startup on the Solaris Platforms
Automatic Broker Startup on the Linux Platform
Automatic Broker Startup on Windows
Deleting a Broker Instance
Starting Clients
Broker Services
Setting Broker Configuration Properties
Modifying Configuration Files
Setting Configuration Properties from the Command Line
Command Utility Preliminaries
Using the Command Utility
Specifying the User Name and Password
Specifying the Broker Name and Port
Displaying the Product Version
Displaying Help
Examples
Managing Brokers
Shutting Down and Restarting a Broker
Quiescing a Broker
Pausing and Resuming a Broker
Updating Broker Properties
Viewing Broker Information
Configuring Connection Services
Port Mapper
Thread Pool Management
Managing Connection Services
Pausing and Resuming a Connection Service
Updating Connection Service Properties
Viewing Connection Service Information
Managing Connections
Configuring and Managing Physical Destinations
Command Utility Subcommands for Physical Destination Management
Creating and Destroying Physical Destinations
Naming Destinations
Setting Property Values
Destroying Destinations
Pausing and Resuming a Physical Destination
Purging a Physical Destination
Updating Physical Destination Properties
Viewing Physical Destination Information
Managing Physical Destination Disk Utilization
Using the Dead Message Queue
Managing the Dead Message Queue
Enabling Dead Message Logging
Managing Broker System-Wide Memory
Managing Durable Subscriptions
Managing Transactions
Introduction to Persistence Services
File-Based Persistence
File-Based Persistence Properties
Configuring a File-Based Data Store
Securing a File-Based Data Store
Optimizing File-Based Transaction Persistence
JDBC-Based Persistence
JDBC-Based Persistence Properties
Configuring a JDBC-Based Data Store
To Set Up a JDBC-Based Data Store
To Display Information About a JDBC-Based Data Store
Securing a JDBC-Based Data Store
Data Store Formats
Introduction to Security Services
Authentication
Authorization
Encryption
User Authentication
Using a Flat-File User Repository
User Groups and Status
Using the User Manager Utility
Using an LDAP User Repository
To Set Up an Administrative User
Using JAAS-Based Authentication
Elements of JAAS
JAAS and Message Queue
Setting up JAAS-Compliant Authentication
User Authorization
Access Control File Syntax
Application of Authorization Rules
Authorization Rules for Connection Services
Authorization Rules for Physical Destinations
Authorization Rules for Auto-Created Physical Destinations
Message Encryption
Using Self-Signed Certificates
Setting Up an SSL-Based Connection Service Using Self-Signed Certificates
Configuring and Running an SSL-Based Client Using Self-Signed Certificates
Using Signed Certificates
Obtaining and Installing a Signed Certificate
Configuring the Client to Require Signed Certificates
Password Files
Security Considerations for Passwords and Password Files
Password File Contents
Secure Password Files
Obfuscate a Passfile
Add a Password to a Password File
Delete a Password from a Password File
Change a Password in a Password File
Deobfuscate a Password File
Upgrading Clear Text Password Files
Connecting Through a Firewall
To Enable Broker Connections Through a Firewall
Audit Logging with the Solaris BSM Audit Log
Configuring Broker Clusters
The Cluster Configuration File
Cluster Configuration Properties
Cluster Connection Service Properties
Conventional Broker Cluster Properties
Enhanced Broker Cluster Properties
Displaying a Cluster Configuration
Managing Broker Clusters
Managing Conventional Clusters
Connecting Brokers into a Conventional Cluster
Adding Brokers to a Conventional Cluster
Removing Brokers From a Conventional Cluster
Changing the Master Broker in a Conventional Cluster with Master Broker
Managing a Conventional Cluster’s Configuration Change Record
Converting Between Types of Conventional Clusters
Managing Enhanced Clusters
Connecting Brokers into an Enhanced Cluster
Adding and Removing Brokers in an Enhanced Cluster
Restarting a Failed Broker
Preventing or Forcing Broker Failover
Backing up a Shared Data Store
Converting a Conventional Cluster to an Enhanced Cluster
Cluster Conversion : File-Based Data Store
Cluster Conversion: JDBC-Based Data Store
Object Stores
LDAP Server Object Stores
File-System Object Stores
Administered Object Attributes
Connection Factory Attributes
Connection Handling
Client Identification
Reliability And Flow Control
Queue Browser and Server Sessions
Standard Message Properties
Message Header Overrides
Destination Attributes
Using the Object Manager Utility
Connecting to a Secured LDAP Server (ldaps)
Adding Administered Objects
Deleting Administered Objects
Listing Administered Objects
Viewing Administered Object Information
Modifying Administered Object Attributes
Using Command Files
The Bridge Service Manager
Bridge-Related Broker Properties
To Enable the Bridge Service Manager
Bridge Manager Utility
Logging of Bridge Services
Configuring and Managing JMS Bridge Services
JMS Bridge Components
JMS Bridge Features
Pooled, Shared, and Dedicated Connections
Transactional Message Transfer
JMS Bridges in High Availability (HA) Broker Clusters
Message Transformation During Message Delivery
JMSReplyTo Header Processing
Dead Message Queue (DMQ) Processing
Message Processing Sequence Across a Link in a JMS Bridge
Configuring a JMS Bridge
Specifying the Broker Properties for a JMS Bridge
Creating the XML Configuration File for a JMS Bridge
Starting and Stopping JMS Bridges
To Configure a JMS Bridge to Start at Broker Startup
To Start a JMS Bridge Manually
To Stop a JMS Bridge Manually
Starting and Stopping Links in a JMS Bridge
To Stop a Link Manually
To Start a Link Manually
Configuring and Managing STOMP Bridge Services
Configuring the STOMP Bridge
Starting and Stopping the STOMP Bridge
To Activate the STOMP Bridge
To Stop the STOMP Bridge Manually
To Start the STOMP Bridge Manually
Message Processing Sequence Across the STOMP Bridge
Message Transformation During Message Processing
STOMP Protocol Features and the STOMP Bridge
Monitoring Services
Introduction to Monitoring Tools
Configuring and Using Broker Logging
Logger Properties
Log Message Format
Default Logging Configuration
Changing the Logging Configuration
To Change the Logger Configuration for a Broker
Changing the Output Channel
Changing Log File Rollover Criteria
Sending Metrics Data to Log Files
Logging Dead Messages
Using the Command Utility to Display Metrics Interactively
imqcmd metrics
To Use the metrics Subcommand
Metrics Outputs: imqcmd metrics
Brokerwide Metrics
Connection Service Metrics
Physical Destination Metrics
imqcmd query
Using the JMX Administration API
Using the Java ES Monitoring Console
Using the Message-Based Monitoring API
Setting Up Message-Based Monitoring
To Set Up Message-based Monitoring
Security and Access Considerations
Metrics Outputs: Metrics Messages
About Performance
The Performance Tuning Process
Aspects of Performance
Benchmarks
Baseline Use Patterns
Factors Affecting Performance
Message Delivery Steps
Application Design Factors Affecting Performance
Delivery Mode (Persistent/Nonpersistent Messages)
Use of Transactions
Acknowledgment Mode
Durable and Nondurable Subscriptions
Use of Selectors (Message Filtering)
Message Size
Message Body Type
Message Service Factors Affecting Performance
Hardware
Operating System
Java Virtual Machine (JVM)
Connections
Message Service Architecture
Broker Limits and Behaviors
Data Store Performance
Client Runtime Configuration
Adjusting Configuration To Improve Performance
System Adjustments
Solaris Tuning: CPU Utilization, Paging/Swapping/Disk I/O
Java Virtual Machine Adjustments
Tuning Transport Protocols
Tuning the File-based Persistent Store
Broker Memory Management Adjustments
Using Physical Destination Limits
Using System-Wide Limits
Client Runtime Message Flow Adjustments
Message Flow Metering
Message Flow Limits
Adjusting Multiple-Consumer Queue Delivery
A Client Cannot Establish a Connection
Connection Throughput Is Too Slow
A Client Cannot Create a Message Producer
Message Production Is Delayed or Slowed
Messages Are Backlogged
Broker Throughput Is Sporadic
Messages Are Not Reaching Consumers
Dead Message Queue Contains Messages
To Inspect the Dead Message Queue
Command Line Syntax
Broker Utility
Command Utility
General Command Utility Options
Broker Management
Connection Service Management
Connection Management
Physical Destination Management
Durable Subscription Management
Transaction Management
JMX Management
Object Manager Utility
Database Manager Utility
User Manager Utility
Service Administrator Utility
Key Tool Utility
Connection Properties
Routing and Delivery Properties
Persistence Properties
File-Based Persistence Properties for Transaction Logging
Security Properties
Monitoring Properties
Bridge Properties
JMX Properties
Alphabetical List of Broker Properties
Physical Destination Properties
Reliability and Flow Control
About Shared Topic Subscriptions for Clustered Containers
Disabling Shared Subscriptions
Consumer Flow Control When Shared Subscriptions Are Used
ResourceAdapter JavaBean
ManagedConnectionFactory JavaBean
ActivationSpec JavaBean
JVM Metrics
Common Attributes
Message Queue Product Information
Broker Information
Port Mapper Information
Connection Service Information
Destination Information
Persistent Store Information
User Repository Information
Installations from an IPS image
Installations of Previous Message Queue Versions from Solaris SVR4 Packages
Installations of Previous Message Queue Versions from Linux RPMs
Classification Scheme
Interface Stability
HTTP/HTTPS Support Architecture
Enabling HTTP/HTTPS Support
Step 1 (HTTPS Only): Generating a Self-Signed Certificate for the Tunnel Servlet
Step 2 (HTTPS Only): Specifying the Key Store Location and Password
To Specify the Location and Password of the Certificate Key Store
Step 3 (HTTPS Only): Validating and Installing the Server’s Self-Signed Certificate
To Validate and Install the Server’s Self-Signed Certificate
Step 4 (HTTP and HTTPS): Deploying the Tunnel Servlet
To Deploy the HTTP or HTTPS Tunnel Servlet
Modifying the Application Server’s Security Policy File
Step 5 (HTTP and HTTPS): Configuring the Connection Service
To Activate the httpjms or httpsjms Connection Service
httpjms
httpsjms
Step 6 (HTTP and HTTPS): Configuring a Connection
Installing a Root Certificate (HTTPS Only)
Configuring the Connection Factory (HTTP and HTTPS)
Using a Single Servlet to Access Multiple Brokers (HTTP and HTTPS)
Using an HTTP Proxy
Troubleshooting
Server or Broker Failure
Client Failure to Connect Through the Tunnel Servlet
If a Client Cannot Connect
JMX Connection Infrastructure
MBean Access Mechanism
The JMX Service URL
The Admin Connection Factory
JMX Configuration
RMI Registry Configuration
Static JMX Service URL: Using an RMI Registry
Dynamic JMX Service URL: Not Using an RMI Registry
SSL-Based JMX Connections
Broker Side SSL Configuration
JMX Client Side SSL Configuration
JMX Connections Through a Firewall
Syntax
Broker and Cluster Management
Broker Configuration Properties (-o option)
-o
Service and Connection Management
Durable Subscriber Management
Destination Management
Destination Configuration Properties (-o option)
Metrics