Sun Java logo     Copyright      Index      Next     

Sun logo
Sun Java System Message Queue 3.5 SP1 Administration Guide 

Contents


List of Figures

List of Tables

List of Procedures

Preface
Audience for This Guide
Organization of This Guide
Conventions
Text Conventions
Directory Variable Conventions
Other Documentation Resources
The Message Queue Documentation Set
Online Help
JavaDoc
Example Client Applications
The Java Message Service (JMS) Specification
Related Third-Party Web Site References

Chapter 1   Overview
What Is Sun Java System Message Queue?
Product Editions
Platform Edition
Enterprise Edition
Enterprise Messaging Systems
Requirements of Enterprise Messaging Systems
Centralized vs. Peer to Peer Messaging
Messaging System Concepts
Message
Message Service Architecture
Message Delivery Models
The JMS Specification
JMS Message Structure
JMS Programming Model
JMS Administered Objects
JMS/J2EE Programming: Message-Driven Beans
Message-Driven Beans
J2EE Application Server Support
JMS Messaging Issues
JMS Provider Independence
Programming Domains
Client Identifiers
Reliable Messaging
Acknowledgements/Transactions
Persistent Storage
Performance Trade-offs
Message Selection
Message Order and Priority

Chapter 2   The Message Queue Messaging System
Message Queue Message Server
Broker
Connection Services
Message Router
Persistence Manager
Security Manager
Monitoring Service
Physical Destinations
Queue Destinations
Topic Destinations
Auto-Created (vs. Admin-Created) Destinations
Temporary Destinations
Multi-Broker Clusters (Enterprise Edition)
Multi-Broker Architecture
Using Clusters in Development Environments
Cluster Configuration Properties
Message Queue Client Runtime
Message Production
Message Consumption
Message Queue Administered Objects
Connection Factory Administered Objects
Destination Administered Objects
Overriding Attribute Values at Client Startup

Chapter 3   Message Queue Administration Tasks and Tools
Message Queue Administration Tasks
Development Environments
Production Environments
Setup Operations
To Set Up a Production Environment
Maintenance Operations
To Set Up a Production Environment
Message Queue Administration Tools
The Administration Console
Summary of Command Line Utilities
Command Line Syntax
Common Command Line Options

Chapter 4   Administration Console Tutorial
Getting Ready
Starting the Administration Console
To Start the Administration Console
Getting Help
To Display Administration Console Help Information
Working With Brokers
Starting a Broker
To Start a Broker
Adding a Broker
To Add a Broker to the Administration Console
Changing the Administrator Password
To Change the Administrator Password
Connecting to the Broker
To Connect to the Broker
Viewing Connection Services
To View Available Connection Services
Adding Physical Destinations to a Broker
To Add a Queue Destination to a Broker
Working With Physical Destinations
To View the Properties of a Physical Destination
To Purge Messages From a Destination
To Delete a Destination
Getting Information About Topic Destinations
Working with Object Stores
Adding an Object Store
To Add a File-system Object Store
Checking Object Store Properties
To Display the Properties of an Object Store
Connecting to an Object Store
To Connect to an Object Store
Adding a Connection Factory Administered Object
To Add a Connection Factory to an Object Store
Adding a Destination Administered Object
To Add a Destination to an Object Store
Administered Object Properties
To View or Update the Properties of a Destination Object
Updating Console Information
Running the Sample Application
To Run the HelloWorldMessageJNDI Application

Chapter 5   Starting and Configuring a Broker
Configuration Files
Instance Configuration File
Merging Property Values
Property Naming Syntax
Editing the Instance Configuration File
Starting a Broker
Syntax of the imqbrokerd Command
Startup Examples
To Start a Broker Instance That Uses the Default Broker Name and Configuration
To Start a Broker Instance With a Trial Enterprise Edition License
To Start a Named Broker Instance With Plugged-in Persistence
Summary of imqbrokerd Options
Working With Clusters (Enterprise Edition)
Cluster Configuration Properties
Connecting Brokers
Connection Methods
To Connect Brokers into a Cluster
Secure Inter-Broker Connections
To Configure Secure Connections Within a Cluster
Managing Brokers in a Cluster
Adding Brokers to a Cluster
To Add a New Broker to an Existing Cluster
Restarting a Broker in a Cluster
To Restart a Broker That is Already a Member of an Existing Cluster
Removing a Broker from a Cluster
To Remove a Broker From an Existing Cluster
Managing the Master Broker’s Configuration Change Record
Backing up the Configuration Change Record
To Back Up the Configuration Change Record
Restoring the Configuration Change Record
To Restore the Master Broker in Case of Failure
Logging
Default Logging Configuration
Log Message Format
Changing the Logger Configuration
To Change the Logger Configuration for a Broker
Changing the Output Channel
Changing Log File Rollover Criteria

Chapter 6   Broker and Application Management
Command Utility
Syntax of the imqcmd Command
imqcmd Subcommands
Summary of imqcmd Options
Using imqcmd Commands
Example imqcmd Usage
Managing a Broker
Displaying Broker Information
Updating Broker Properties
Controlling the Broker’s State
Pausing and Resuming a Broker
Shutting Down and Restarting a Broker
Displaying Broker Metrics
Managing Connection Services
Listing Connection Services
Displaying Connection Service Information
Updating Connection Service Properties
Displaying Connection Service Metrics
Pausing and Resuming a Connection Service
Getting Connection Information
Managing Destinations
Creating Destinations
Listing Destinations
Displaying Destination Information
Updating Destination Attributes
Displaying Destination Metrics
Pausing and Resuming Destinations
Purging Destinations
Destroying Destinations
Compacting Destinations
Monitoring a Destination’s Disk Utilization
Reclaiming Unused Destination Disk Space
To Reclaim Unused Destination Disk Space
Managing Durable Subscriptions
Managing Transactions

Chapter 7   Managing Administered Objects
About Object Stores
LDAP Server Object Store
File-system Object Store
Administered Objects
Connection Factory Administered Object Attributes
Destination Administered Object Attributes
Object Manager Utility (imqobjmgr)
Syntax of the imqobjmgr Command
imqobjmgr Subcommands
Summary of imqobjmgr Command Options
Required Information
Using Command Files
Adding and Deleting Administered Objects
Adding a Connection Factory
Adding a Topic or Queue
Deleting Administered Objects
Getting Information
Listing Administered Objects
Information About a Single Object
Updating Administered Objects

Chapter 8   Managing Security
Authenticating Users
Using a Flat-File User Repository
Creating a User Repository
User Manager Utility (imqusermgr)
Groups
States
Format of User Names and Passwords
Populating and Managing a User Repository
Changing the Default Administrator Password
Using an LDAP Server for a User Repository
To Edit the Configuration File to use an LDAP Server
Authorizing Users: the Access Control Properties File
Creating an Access Control Properties File
Access Rules Syntax
Permission Computation
Connection Access Control
Destination Access Control
Destination Auto-Create Access Control
Encryption: Working With an SSL-based Service (Enterprise Edition)
Setting Up an SSL-based Service Over TCP/IP
To Set Up an SSL-based Connection Service
Step 1. Generating a Self-Signed Certificate
To Regenerate a Key Pair
Step 2. Enabling the SSL-based Service in the Broker
To Enable an SSL-based Service in the Broker
Step 3. Starting the Broker
Step 4. Configuring and Running SSL-based Clients
Setting Up an SSL Service Over HTTP
Using a Passfile

Chapter 9   Analyzing and Tuning a Message Service
About Performance
The Performance Tuning Process
Aspects of Performance
Benchmarks
Baseline Use Patterns
Factors That Impact Performance
Application Design Factors that Impact Performance
Delivery Mode (Persistent/Non-persistent Messages)
Use of Transactions
Acknowledgement Mode
Durable vs. Non-durable Subscriptions
Use of Selectors (Message Filtering)
Message Size
Message Body Type
Message Service Factors that Impact Performance
Hardware
Operating System
Java Virtual Machine (JVM)
Connections
Message Server Architecture
Broker Limits and Behaviors
Data Store Performance
Client Runtime Configuration
Monitoring a Message Server
Monitoring Tools
Message Queue Command Utility (imqcmd)
To Use the metrics Subcommand
Message Queue Broker Log Files
To Use Log Files to Report Metrics Information
Message-Based Monitoring API
To Set Up Message-based Monitoring
Choosing the Right Monitoring Tool
Description of Metrics Data
JVM Metrics
Broker-wide Metrics
Connection Service Metrics
Destination Metrics
Troubleshooting Performance Problems
Problem: Clients Can’t Establish A Connection
Symptoms:
Possible Causes:
Problem: Connection Throughput is Too Slow
Symptoms:
Possible Causes:
Problem: Client Can’t Create a Message Producer
Symptoms:
Possible Causes:
Problem: Message Production Is Delayed or Slowed
Symptoms:
Possible Causes:
Problem: Messages Backlogged in Message Server
Symptoms:
Possible Causes:
Problem: Message Server Throughput Is Sporadic
Symptoms:
Possible Causes:
Problem: Messages Not Reaching Consumers
Symptoms:
Possible Causes:
Adjusting Your 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 Adjustments
Memory Management: Increasing Broker Stability Under Load
Multiple Consumer Queue Performance
Client Runtime Message Flow Adjustments
Message Flow Metering
Message Flow Limits

Appendix A   Location of Message Queue Data
Solaris
Linux
Windows

Appendix B   Setting Up Plugged-in Persistence
Introduction
Plugging In a JDBC-accessible Data Store
To Plug in a JDBC-accessible Data Store
JDBC-related Broker Configuration Properties
Database Manager Utility (imqdbmgr)
Syntax of the imqdbmgr Command
imqdbmgr Subcommands
Summary of imqdbmgr Command Options

Appendix C   HTTP/HTTPS Support (Enterprise Edition)
HTTP/HTTPS Support Architecture
Enabling HTTP Support
To Enable HTTP Support
Step 1. Deploying the HTTP Tunnel Servlet on a Web Server
Deploying as a Jar File
Deploying as a Web Archive File
Step 2. Configuring the httpjms Connection Service
To Activate the httpjms Connection Service
Step 3. Configuring an HTTP Connection
Configuring the Connection Factory
Using a Single Servlet to Access Multiple Brokers
Using an HTTP Proxy
Example 1: Deploying the HTTP Tunnel Servlet on Sun Java System Web Server
Deploying as a Jar File
To Add a Tunnel Servlet
To Configure a Virtual Path (Servlet URL) for a Tunnel Servlet
To Load the Tunnel Servlet at Web Server Startup
To Disable the Server Access Log
Deploying as a WAR File
To Deploy the http Tunnel Servlet as a WAR File
Example 2: Deploying the HTTP Tunnel Servlet on Sun Java System Application Server 7.0
Using the Deployment Tool
To Deploy the HTTP Tunnel Servlet in an Application Server 7.0 Environment
Modifying the server.policy File
To Modify the Application Server’s server.policy File
Enabling HTTPS Support
To Enable HTTPS Support
Step 1. Generating a Self-signed Certificate for the HTTPS Tunnel Servlet
Step 2. Deploying the HTTPS Tunnel Servlet on a Web Server
Deploying as a Jar File
Deploying as a Web Archive File
Step 3. Configuring the httpsjms Connection Service
To Activate the httpsjms Connection Service
Step 4. Configuring an HTTPS Connection
Configuring JSSE
To Configure JSSE
Importing a Root Certificate
Configuring the Connection Factory
Using a Single Servlet to Access Multiple Brokers
Using an HTTP Proxy
Example 3: Deploying the HTTPS Tunnel Servlet on Sun Java System Web Server
Deploying as a Jar File
To Add a Tunnel Servlet
To Configure a Virtual Path (servlet URL) for a Tunnel Servlet
To Load the Tunnel Servlet at Web Server Startup
To Disable the Server Access Log
Deploying as a WAR File
To Modify the HTTPS Tunnel Servlet WAR File
To Deploy the https Tunnel Servlet as a WAR File
Example 4: Deploying the HTTPS Tunnel Servlet on Sun Java System Application Server 7.0
Using the Deployment Tool
To Deploy the HTTPS Tunnel Servlet in an Application Server 7.0 Environment
Modifying the server.policy file
To Modify the Application Server’s server.policy File

Appendix D   Using a Broker as a Windows Service
Running a Broker as a Windows Service
Service Administrator Utility (imqsvcadmin)
Syntax of the imqsvcadmin Command
imqsvcadmin Subcommands
Summary of imqsvcadmin Options
Removing the Broker Service
Reconfiguring the Broker Service
Using an Alternate Java Runtime
Querying the Broker Service
Troubleshooting
To See Logged Service Error Events

Appendix E   Technical Notes
System Clock Settings
Synchronization Recommended
Avoid Setting System Clocks Backwards
OS-Defined File Descriptor Limitations
Securing Persistent Data
Built-in Persistent Store
Plugged-in Persistent Store

Appendix F   The Message Queue Resource Adapter
Appendix G   Message Queue Implementation of Optional JMS Functionality
Appendix H   Stability of Message Queue Interfaces
Glossary

Index


Copyright      Index      Next     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.