When One-Way Sends Are Not Supported Different Client and Destination Hosts XA Enabled On Clients Host Connection Factory Higher QOS Detected Destination Quota Exceeded

14-22 Performance and Tuning for Oracle WebLogic Server

14.16.3 One-Way Send Support In a Cluster With Multiple Destinations

To ensure one-way send support in a cluster with multiple destinations that share the same name, special care is required to ensure the WebLogic Server instance that hosts the client connection also hosts the destination. One solution is the following: 1. Configure the cluster wide RMI load balancing algorithm to Server Affinity. 2. Ensure that no two destinations are hosted on the same WebLogic Server instance. 3. Configure each destination to have the same local-jndi-name. 4. Configure a connection factory that is targeted to only those WebLogic Server instances that host the destinations. 5. Ensure sender clients use the JNDI names configured in Steps 3 and 4 to obtain their destination and connection factory from their JNDI context. 6. Ensure sender clients use URLs limited to only those WebLogic Server instances that host the destinations in Step 3. This solution disables RMI-level load balancing for clustered RMI objects, which includes EJB homes and JMS connection factories. Effectively, the client will obtain a connection and destination based only on the network address used to establish the JNDI context. Load balancing can be achieved by leveraging network load balancing, which occurs for URLs that include a comma-separated list of WebLogic Server addresses, or for URLs that specify a DNS name that resolves to a round-robin set of IP addresses as configured by a network administrator. For more information on Server Affinity for clusters, see Load Balancing for EJBs and RMI Objects in Using Clusters for Oracle WebLogic Server.

14.16.4 When One-Way Sends Are Not Supported

This section defines when one-way sends are not supported. When one-ways are not supported, the send QOS is automatically upgraded to standard two-ways.

14.16.5 Different Client and Destination Hosts

One-way sends are supported when the client producers connection host and the JMS server hosting the target destination are the same WebLogic Server instance; otherwise, the one-way mode setting will ignored and standard two-way sends will be used instead.

14.16.6 XA Enabled On Clients Host Connection Factory

One-way message sends are disabled if the clients host connection factory is configured with XA Enabled. This setting disables one-way sends whether or not the sender actually uses transactions.

14.16.7 Higher QOS Detected

When the following higher QOS features are detected, then the one-way mode setting will be ignored and standard two-way sends will be used instead: ■ XA ■ Transacted sessions ■ Persistent messaging ■ Unit-of-order Tuning WebLogic JMS 14-23 ■ Unit-of-work ■ Distributed destinations

14.16.8 Destination Quota Exceeded

When the specified quota is exceeded on the targeted destination, then standard two-way sends will be used until the quota clears. One-way messages that exceed quota are silently deleted, without immediately throwing exceptions back to the client. The client will eventually get a quota exception if the destination is still over quota at the time the next two-way send occurs. Even in one-way mode, clients will send a two-way message every One Way Send Window Size number of messages configured on the clients connection factory. A workaround that helps avoid silently-deleted messages during quota conditions is to increase the value of the Blocking Send Timeout configured on the connection factory, as described in Section 14.11, Compressing Messages . The one-way messages will not be deleted immediately, but instead will optimistically wait on the JMS server for the specified time until the quota condition clears presumably due to messages getting consumed or by messages expiring. The client sender will not block until it sends a two-way message. For each client, no more than One Way Window Size messages will accumulate on the server waiting for quota conditions to clear.

14.16.9 Change In Server Security Policy