Change In Server Security Policy Change In JMS Server or Destination Status Looking Up Logical Distributed Destination Name Hardware Failure One-Way Send QOS Guidelines

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

A change in the server-side security policy could prevent one-way message sends without notifying the JMS client of the change in security status.

14.16.10 Change In JMS Server or Destination Status

One-way sends can be disabled when a host JMS server or target destination is administratively undeployed, or when message production is paused on either the JMS server or the target destination using the Production PauseResume feature. See Production Pause and Production Resume in Configuring and Managing JMS for Oracle WebLogic Server.

14.16.11 Looking Up Logical Distributed Destination Name

One-way message sends work with distributed destinations provided the client looks up the physical distributed destination members directly rather than using the logical distributed destinations name. See Using Distributed Destinations in Programming JMS for Oracle WebLogic Server.

14.16.12 Hardware Failure

A hardware or network failure will disable one-way sends. In such cases, the JMS producer is notified by an OnException or by the next two-way message send. 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. The producer will be closed. The worst-case scenario is that all messages can be lost up to the last two-way message before the failure occurred.

14.16.13 One-Way Send QOS Guidelines

Use the following QOS-related guidelines when using the one-way send mode for typical non-persistent messaging. 14-24 Performance and Tuning for Oracle WebLogic Server ■ When used in conjunction with the Blocking Sends feature, then using one-way sends on a well-running system should achieve similar QOS as when using the two-way send mode. ■ One-way send mode for topic publishers falls within the QOS guidelines set by the JMS Specification, but does entail a lower QOS than two-way mode the WebLogic Server default mode. ■ One-way send mode may not improve performance if JMS consumer applications are a system bottleneck, as described in Asynchronous vs. Synchronous Consumers in Programming JMS for Oracle WebLogic Server. ■ Consider enlarging the JVMs heap size on the client andor server to account for increased batch size the Window of sends. The potential memory usage is proportioned to the size of the configured Window and the number of senders. ■ The sending application will not receive all quota exceptions. One-way messages that exceed quota are silently deleted, without throwing exceptions back to the sending client. See Section 14.16.8, Destination Quota Exceeded for more information and a possible work around. ■ Configuring one-way sends on a connection factory effectively disables any message flow control parameters configured on the connection factory. ■ By default, the One-way Window Size is set to 1, which effectively disables one-way sends as every one-way message will be upgraded to a two-way send. 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. Therefore, you must set the one-way send window size much higher. It is recommended to try setting the window size to 300 and then adjust it according to your application requirements. ■ The client application will not immediately receive network or server failure exceptions, some messages may be sent but silently deleted until the failure is detected by WebLogic Server and the producer is automatically closed. See Section 14.16.12, Hardware Failure for more information.

14.17 Tuning the Messaging Performance Preference Option