Technical data

Tuning JMS
Administration Guide 17-19
Persistent Stores
The following sections describe the tuning options available when using persistent
stores with WebLogic Server JMS.
Disabling Synchronous Writes to File Stores
By default, WebLogic Server JMS file stores guarantee up-to-the-message integrity by
using synchronous writes. Disabling synchronous writes improves file store
performance, often quite dramatically, but at the expense of possibly losing sent
messages or generating duplicate received messages (even if messages are
transactional) in the event of an operating system crash or a hardware failure. Simply
shutting down an operating system will not generate these failures, as an operating
system flushes all outstanding writes during a normal shutdown. Instead, these failures
can be emulated by shutting the power off to a busy server.
Note: At least one JMS vendor disables synchronous writes by default, and this
vendor only allows enabling synchronous writes for sends and not for receives.
To disable synchronous writes for all JMS file stores running on a WebLogic server
set the following command-line property:
-Dweblogic.JMSFileStore.SynchronousWritesEnabled=false
To disable synchronous writes for a particular JMS file store:
-Dweblogic.JMSFileStore.store-name.SynchronousWritesEnabled=false
If both properties are set, the latter command overrides the former. A log message is
generated when synchronous writes are disabled. This can be used to verify that the
command-line property is taking effect.
Using Message Paging
With the message paging feature, you can free up virtual memory during peak message
load periods. This feature can greatly benefit applications with large message spaces.