This document is a resource for software developers who want to develop and configure applications that include WebLogic Server Java Message Service (JMS). It also contains information that is useful for business analysts and system architects who are evaluating WebLogic Server or considering the use of WebLogic Server JMS for a particular application
The topics in this document are relevant during the design and development phases of a software project. The document also includes topics that are useful in solving application problems that are discovered during test and pre-production phases of a project.
This document does not address production phase administration, monitoring, or performance tuning JMS topics. For links to WebLogic Server documentation and resources for these topics, see Related Documentation.
It is assumed that the reader is familiar with Java EE and JMS concepts. This document emphasizes the value-added features provided by WebLogic Server JMS and key information about how to use WebLogic Server features and facilities to get a JMS application up and running.
This chapter, Chapter 1, "Introduction and Roadmap," introduces the organization of this guide.
Chapter 2, "Understanding WebLogic JMS," provides an overview of the Java Message Service. It also describes WebLogic JMS components and features.
Chapter 3, "Best Practices for Application Design," provides design options for WebLogic Server JMS, application behaviors to consider during the design process, and recommended design patterns.
Chapter 4, "Enhanced Support for Using WebLogic JMS with EJBs and Servlets," describes "best practice" methods that make it easier to use WebLogic JMS in conjunction with Java EE components, like Enterprise Java Beans and Servlets.
Chapter 6, "Developing a Basic JMS Application," describes how to develop a WebLogic JMS application.
Chapter 5, "Understanding the Simplified API Programming Model," describes how to develop a WebLogic JMS application using JMS 2.0 simplified APIs.
Chapter 7, "Managing Your Applications," describes how to programmatically manage your JMS applications using value-added WebLogic JMS features.
Chapter 8, "Using JMS Module Helper to Manage Applications," describes how to programatically create and manage JMS servers, Store-and-Forward Agents, and JMS system resources.
Chapter 9, "Using Multicasting with WebLogic JMS," describes how to use Multicasting to enable the delivery of messages to a select group of hosts that subsequently forward the messages to subscribers.
Chapter 10, "Using Distributed Destinations," describes how to use distributed destinations with WebLogic JMS.
Chapter 11, "Using Message Unit-of-Order," describes how to use Message Unit-of-Order to provide strict message ordering when using WebLogic JMS queues.
Chapter 12, "Using Unit-of-Work Message Groups," describes how to use Unit-of-Work Message Groups to provide groups of messages when using WebLogic JMS.
Chapter 13, "Using Transactions with WebLogic JMS," describes how to use transactions with WebLogic JMS.
Chapter 14, "Developing Advanced Pub/Sub Applications," describes the advanced concepts and functionality of Uniform Distributed Topics (UDTs) necessary to design high availability applications.
Chapter 15, "Recovering from a Server Failure," describes how to terminate a JMS application gracefully if a server fails and how to migrate JMS data after server failure.
Chapter 16, "WebLogic JMS C API," provides information on how to develop C programs that interoperate with WebLogic JMS.
Appendix A, "Deprecated WebLogic JMS Features," describes features that have been deprecated for this release of WebLogic Server.
Appendix B, "FAQs: Integrating Remote JMS Providers," provides answers to frequently asked questions about how to integrate WebLogic Server with remote JMS providers.
Appendix C, "How to Lookup a Destination," provides a summary of methods you can use to lookup a destination.
Appendix D, "Advanced Programming with Distributed Destinations Using the JMS Destination Availability Helper API," provides a means for getting notifications when destinations become available or unavailable.
This document contains JMS-specific design and development information.
For comprehensive guidelines for developing, deploying, and monitoring WebLogic Server applications, see the following documents:
Administering JMS Resources for Oracle WebLogic Server for information about configuring and managing JMS resources.
Administering the Store-and-Forward Service for Oracle WebLogic Server for information about the benefits and usage of the Store-and-Forward service with WebLogic JMS.
Administering the WebLogic Persistent Store for information about the benefits and usage of the system-wide WebLogic Persistent Store.
Deploying Applications to Oracle WebLogic Server is the primary source of information about deploying WebLogic Server applications.
In addition to this document, Oracle provides a variety of code samples and tutorials for JMS developers. The examples and tutorials illustrate WebLogic Server JMS in action, and provide practical instructions on how to perform key JMS development tasks.
Oracle recommends that you run some or all of the JMS examples before developing your own JMS applications.
MedRec is an end-to-end sample Java EE application shipped with WebLogic Server that simulates an independent, centralized medical record management system. The MedRec application provides a framework for patients, doctors, and administrators to manage patient data using a variety of different clients.
MedRec demonstrates WebLogic Server and Java EE features, and highlights Oracle-recommended best practices. MedRec is optionally installed with the WebLogic Server installation. You can start MedRec from the
\user_projects\domains\medrec directory, where
ORACLE_HOME is the directory you specified as the Oracle Home when you installed Oracle WebLogic Server.
MedRec includes a service tier comprised primarily of Enterprise Java Beans (EJBs) that work together to process requests from web applications, web services, and workflow applications, and future client applications. The application includes message-driven, stateless session, stateful session, and entity EJBs.
This release includes the following new and changed features for WebLogic Server 12.x:
WebLogic Server 12.2.1 supports the use of simplified APIs specified by JMS 2.0. See Chapter 5, "Understanding the Simplified API Programming Model".
Weighted Distributed Destinations are deprecated in WebLogic Server 10.3.4.0. Oracle recommends using Uniform Distributed Destinations.
Advanced WebLogic JMS publish and subscribe (pub/sub) concepts and functionality of Uniform Distributed Topics (UDTs) necessary to design high availability applications. See Developing Advanced Pub/Sub Applications.
JMSDestinationAvailabilityHelper API provides a means for getting notifications when destinations become available or unavailable. These APIs are for advanced use cases only. Use this helper only when standard approaches for solving WebLogic distributed consumer problems have been exhausted. See "Using the JMS Destination Availability Helper APIs with Distributed Queues" in Developing JMS Applications for Oracle WebLogic Server.
Since WebLogic Server 10.3.6, the JMSModuleHelper does not support anonymous lookup (using
-Dweblogic.management.anonymousAdminLookupEnabled=true) to comply with the existing WebLogic security model. See Security Considerations for Anonymous Users.
For a comprehensive listing of the new WebLogic Server features introduced in this release, see What's New in Oracle WebLogic Server 12.2.1.