Contents for Configuring and Managing WebLogic JMS
Introduction and Roadmap
Document Scope and Audience
Guide to This Document
Related Documentation
JMS Samples and Tutorials for the JMS Administrator
Avitek Medical Records Application (MedRec) and Tutorials
JMS Examples in the WebLogic Server Distribution
Additional JMS Examples Available for Download
New and Changed JMS Features In This Release
JMS 1.1 Specification Support
Modular Configuration and Deployment of JMS Resources
Store-and-Forward for Highly Available Message Production
Enhanced Run-time Message Management
Pause and Resume Message Operations on Destinations
More Transparency with Message Life Cycle Logging
Debug and Diagnostic Information More Readily Available
Strict Message Ordering with Unit-of-Order
Uniform Configuration of Distributed Destinations
Access to JMS Applications from "C" Clients
Message-Driven Bean (MDB) Enhancements for JMS
Document Object Model (DOM) Support for XML Messages
Flexible and Simplified Destination Quotas
Improved Message Paging
Message ID Propagation Security Enhancement
Message Bridge Enhancements
Automatic Compression of Messages
Deprecated JMS Features, Methods, Interfaces, and Methods
Legacy JMS Resource Configuration Interfaces
JMS Helper APIs
Messages Paging Enabled, Bytes Paging Enabled, and Paging Store Methods
Expiration Logging Policy Method
JMS Session Pool and JMS Connection Consumer Interfaces
JMS Store Interfaces
Pause and Resume Methods On the JMS Destination Runtime Interface
Message Purge Method on the JMS Durable Subscriber Runtime Interface
JMS Extensions: WLMessage Interface
Messaging Bridge Properties
Understanding JMS Resource Configuration
Overview of JMS and WebLogic Server
What Is the Java Message Service?
WebLogic JMS Anatomy and Environment
Domain Configuration: System Resources vs. Application Resources
What Are JMS Configuration Resources?
JMS Servers
JMS System Resource Modules
JMS Application Modules
Standalone JMS Modules
Packaged JMS Modules
JMS Schema
Ownership of Configured JMS Resources
Comparing System and Application Module Capabilities
JMS Interop Modules
Persistent Stores
Store-and-Forward (SAF) Service
Path Service
Messaging Bridges
WebLogic Server Value-Added JMS Features
Enterprise-Grade Reliability
Enterprise-Level Features
Tight Integration With WebLogic Server
Interoperability With Other Messaging Services
Clustered WebLogic JMS
Configuring JMS System Resources
Ways to Configure Messaging Resources
Administrators
Application Developers
Using the Administration Console to Configure JMS Resources
Modifying Default Values for Configuration Options
Starting WebLogic Server and Configuring JMS
Starting the Default WebLogic Server
Starting the Administration Console
Configuring Basic JMS System Resources
Guidelines for Configuring Advanced JMS System Module Resources
JMS Configuration Naming Requirements
JMS Server Configuration
Creating JMS Servers
Targeting JMS Servers
Monitoring JMS Servers
Configuring Session Pools and Connection Consumers
JMS System Module Configuration
Creating JMS System Modules
Targeting JMS Modules and Subdeployment Resources
Connection Factory Resources
Using a Default Connection Factory
Creating Connection Factories
Targeting Connection Factories
Queue and Topic Destination Resources
Error Destinations
Distributed Destinations
Creating Queues
Creating Topics
Targeting Queues and Topics
JMS Template Resources
Creating JMS Templates
Destination Key Resources
Creating JMS Destination Keys
Quota Resources
Foreign Server Resources
Distributed Destination Resources
JMS Store-and-Forward (SAF) Resources
Configuring Clustered WebLogic JMS Resources
Configuring WebLogic JMS Clustering
Advantages of JMS Clustering
Obtain a Clustered JMS Licence
How JMS Clustering Works
JMS Clustering Naming Requirements
Distributed Destination Within a Cluster
JMS As a Migratable Service Within a Cluster
Configuration Guidelines for JMS Clustering
What About Failover?
Configuring Migratable Targets for JMS Servers
Configuration Steps for JMS Service Migration
Persistent Store High Availability
Using the WebLogic Path Service
Accessing Foreign Server Providers
How WebLogic JMS Accesses Foreign JMS Providers
Creating Foreign Servers
Creating Foreign Connection Factories
Creating a Foreign Destination
Sample Configuration for MQSeries JNDI
Configuring Distributed Destinations
Uniform Distributed Destinations vs. Weighted Distributed Destinations
Creating Uniform Distributed Destinations
Targeting Uniform Distributed Queues and Topics
Pausing and Resuming Message Operations on UDD Members
Monitoring UDD Members
Creating Weighted Distributed Destinations
Load Balancing Messages Across a Distributed Destination
Load Balancing Options
Consumer Load Balancing
Producer Load Balancing
Load Balancing Heuristics
Defeating Load Balancing
How Distributed Destination Load Balancing Is Affected When Server Affinity Is Enabled
Distributed Destination Migration
Distributed Destination Failover
Configuring JMS Application Modules for Deployment
JMS Schema
Deploying JMS Modules That Are Packaged In an Enterprise Application
Creating Packaged JMS Modules
JMS Packaged Module Requirements
Main Steps for Creating Packaged JMS Modules
Referencing a Packaged JMS Module In Deployment Descriptor Files
Referencing JMS Modules In a weblogic-application.xml Descriptor
Referencing JMS Resources In a WebLogic Application
Referencing JMS Resources In a J2EE Application
Sample of a Packaged JMS Module In an EJB Application
Packaged JMS Module References In weblogic-application.xml
Packaged JMS Module References In ejb-jar.xml
Packaged JMS Module References In weblogic-ejb-jar.xml
Packaging an Enterprise Application With a JMS Module
Deploying a Packaged JMS Module
Deploying Standalone JMS Modules
Creating Standalone JMS Modules
JMS Standalone Module Requirements
Main Steps for Creating Standalone JMS Modules
Sample of a Simple Standalone JMS Module
Deploying Standalone JMS Modules
Tuning Standalone JMS Modules
Using WLST to Manage JMS Servers and JMS System Resources
Understanding System Modules and Subdeployments
How to Create JMS Servers and System Resources
How to Modify and Monitor JMS Servers and JMS Resources
Best Practices when Using WLST to Configure JMS
Monitoring JMS Statistics and Managing Messages
Monitoring JMS Statistics
Monitoring JMS Servers
Monitoring Active JMS Destinations
Monitoring Active JMS Transactions
Monitoring Active JMS Connections
Monitoring Active JMS Session Pools
Monitoring Queues
Monitoring Topics
Monitoring Uniform Distributed Queues
Monitoring Uniform Distributed Topics
Managing JMS Messages
JMS Message Management via Java APIs
JMS Message Management Using the Administration Console
Monitoring Message Runtime Information
Querying Messages
Moving Messages
Deleting Messages
Creating New Messages
Importing Messages
Exporting Messages
Managing Transactions
Troubleshooting WebLogic JMS
Configuring Notifications for JMS
Debugging JMS
Enabling Debugging
Enable Debugging Using the Command Line
Enable Debugging Using the WebLogic Server Administration Console
Enable Debugging Using the WebLogic Scripting Tool
Changes to the config.xml File
JMS Debugging Scopes
Request Dyeing
Message Life Cycle Logging
Events in the JMS Message Life Cycle
Message Log Location
Enabling JMS Message Logging
JMS Message Log Content
JMS Message Log Record Format
Sample Log File Records
Consumer Created Event
Consumer Destroyed Event
Message Produced Event
Message Consumed Event
Message Expired Event
Retry Exceeded Event
Message Removed Event
Managing JMS Server Log Files
Rotating Message Log Files
Renaming Message Log Files
Limiting the Number of Retained Message Log Files
Controlling Message Operations on Destinations
Definition of Message Production, Insertion, and Consumption
Pause and Resume Logging
Production Pause and Production Resume
Pausing and Resuming Production at Boot-time
Pausing and Resuming Production at Runtime
Production Pause and Resume and Distributed Destinations
Production Pause and Resume and JMS Connection Stop/Start
Insertion Pause and Insertion Resume
Pausing and Resuming Insertion at Boot Time
Pausing and Resuming Insertion at Runtime
Insertion Pause and Resume and Distributed Destination
Insertion Pause and Resume and JMS Connection Stop/Start
Consumption Pause and Consumption Resume
Pausing and Resuming Consumption at Boot-time
Pausing and Resuming Consumption at Runtime
Consumption Pause and Resume and Queue Browsers
Consumption Pause and Resume and Distributed Destination
Consumption Pause and Resume and Message-Driven Beans
Consumption Pause and Resume and JMS Connection Stop/Start
Definition of In-Flight Work
In-flight Work Associated with Producers
In-flight Work Associated with Consumers
Order of Precedence for Boot-time Pause and Resume of Message Operations
Security
Tuning WebLogic JMS
Defining Quota
Quota Resources
Destination-Level Quota
JMS Server-Level Quota
Specifying a Blocking Send Policy on JMS Servers
Defining a Send Timeout on Connection Factories
Compressing Messages
Paging Out Messages To Free Up Memory
Specifying a Message Paging Directory
Tuning the Message Buffer Size Option
Controlling the Flow of Messages on JMS Servers and Destinations
How Flow Control Works
Configuring Flow Control
Flow Control Thresholds
Handling Expired Messages
Defining a Message Expiration Policy
Configuring an Expiration Policy on Topics
Configuring an Expiration Policy on Queues
Configuring an Expiration Policy on Templates
Defining an Expiration Logging Policy
Enabling Active Message Expiration
Configuring a JMS Server to Actively Scan Destinations for Expired Messages