C How WebLogic MDBs Leverage WebLogic JMS Extensions
The MDB deployment scenarios described in Topic Deployment Scenarios take advantage of the following JMS features:
-
Shared subscriptions -- Shared subscriptions allow multiple subscribers, including subscribers on different MDB servers, to consume from the same subscription on a physical topic or distributed-topic member. Messages available to that subscription are distributed among its subscribers, with each message delivered to one subscriber at a time. Messages may be redelivered following rollback or recovery. For example, if there are two subscribers, S1 and S2, and three messages, M1, M2, and M3, S1 might receive M1 and M2 (but not M3) and, then, S2 would receive M3 (but not M1 and M2).
Messages can be processed in parallel by the subscribers sharing the subscription. MDBs can create multiple subscribers on the same subscription identifier, whether it is durable or non-durable. For more information about the JMS Subscription Sharing Policy, see Configure Shared Subscriptions in Administering JMS Resources for Oracle WebLogic Server.
-
Unrestricted Client IDs -- Unrestricted Client IDs allow multiple concurrently active connections to use the same Client ID. The JMS
clientIDidentifies a JMS connection and is used to identify a durable subscription on that connection. Setting the Client ID Policy toUnrestrictedallows separate durable subscriptions with the same client ID and subscription name to exist on different physical topics or distributed-topic members. This allows subscriptions with the same name to exist on different members of the same distributed topic, and together, these subscriptions can be treated as a single logical subscription. See Configure an Unrestricted Client ID in Administering JMS Resources for Oracle WebLogic Server.
For supported topic MDB configurations using WebLogic Server's built-in JMS integration, the topicMessagesDistributionMode activation configuration property determines how the container applies the connection policies shown in Table C-1. These policies control subscription sharing and the use of client IDs.
Table C-1 Connection Policies Used by Topic MDBs
| topicMessagesDistributionMode | SubscriptionSharingPolicy | ClientIdPolicy |
|---|---|---|
|
One-Copy-Per-Server or One-Copy-Per-Application (WebLogic JMS) |
Sharable |
Unrestricted |
|
Compatibility (WebLogic standalone topics and replicated distributed topics) |
Connection factory's policy; Exclusive by default |
Connection factory's policy; Restricted by default |
|
Compatibility (foreign topics) |
WebLogic policy not applicable |
WebLogic policy not applicable |
With WebLogic JMS, Compatibility mode inherits the connection factory's Subscription Sharing Policy and Client ID Policy. In the One-Copy modes, the container sets the required policies on the MDB connection instances: Sharable for Subscription Sharing Policy and Unrestricted for Client ID Policy. The connection-factory configuration is unchanged. In the One-Copy modes, leave the connection factory's Client ID unset so the container can assign the MDB's client ID. See Topic Subscription Identifiers.