|
Oracle Fusion Middleware Java API Reference for Oracle WebLogic Server 12c (12.2.1) Part Number E55141-01 P4 Change 1723563 on 2015/10/09 |
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
public interface GenericFileStoreMBean
This MBean defines common parameters for file stores. It is the parent of FileStoreMBean and the deprecated JMSFileStoreMBean.
| Field Summary | |
|---|---|
static String |
SYNCWRITE_CACHEFLUSH |
static String |
SYNCWRITE_DIRECTWRITE |
static String |
SYNCWRITE_DIRECTWRITEWITHCACHE |
static String |
SYNCWRITE_DISABLED |
| Fields inherited from interface weblogic.management.configuration.ConfigurationMBean |
|---|
DEFAULT_EMPTY_BYTE_ARRAY |
| Method Summary | |
|---|---|
abstract int |
getBlockSize()The smallest addressable block, in bytes, of a file. |
abstract String |
getCacheDirectory()The location of the cache directory for Direct-Write-With-Cache, ignored for other policies. |
abstract String |
getDirectory()The path name to the file system directory where the file store maintains its data files. |
abstract long |
getInitialSize()The initial file size, in bytes. |
abstract int |
getIoBufferSize()The I/O buffer size, in bytes, automatically rounded down to the nearest power of 2. |
abstract long |
getMaxFileSize()The maximum file size, in bytes. |
abstract int |
getMaxWindowBufferSize()The maximum amount of data, in bytes and rounded down to the nearest power of 2, mapped into the JVM's address space per primary store file. |
abstract int |
getMinWindowBufferSize()The minimum amount of data, in bytes and rounded down to the nearest power of 2, mapped into the JVM's address space per primary store file. |
abstract String |
getSynchronousWritePolicy()The disk write policy that determines how the file store writes data to disk. |
abstract boolean |
isFileLockingEnabled()Determines whether OS file locking is used. |
abstract void |
setBlockSize(int blockSize)Sets the value of the BlockSize attribute. |
abstract void |
setCacheDirectory(String cacheDirectory)Sets the value of the CacheDirectory attribute. |
abstract void |
setDirectory(String directory)Sets the value of the Directory attribute. |
abstract void |
setFileLockingEnabled(boolean fileLockingEnabled)Sets the value of the FileLockingEnabled attribute. |
abstract void |
setInitialSize(long initialSize)Sets the value of the InitialSize attribute. |
abstract void |
setIoBufferSize(int ioBufferSize)Sets the value of the IOBufferSize attribute. |
abstract void |
setMaxFileSize(long maxFileSize)Sets the value of the MaxFileSize attribute. |
abstract void |
setMaxWindowBufferSize(int maxWindowBufferSize)Sets the value of the MaxWindowBufferSize attribute. |
abstract void |
setMinWindowBufferSize(int minWindowBufferSize)Sets the value of the MinWindowBufferSize attribute. |
abstract void |
setSynchronousWritePolicy(String policy)Sets the value of the SynchronousWritePolicy attribute. |
| Methods inherited from interface weblogic.management.configuration.ConfigurationMBean |
|---|
freezeCurrentValue, getId, getInheritedProperties, getName, getNotes, isDynamicallyCreated, isInherited, isSet, restoreDefaultValue, setComments, setDefaultedMBean, setName, setNotes, setPersistenceEnabled, unSet |
| Methods inherited from interface weblogic.management.WebLogicMBean |
|---|
getMBeanInfo, getObjectName, getParent, getType, isCachingDisabled, isRegistered, setParent |
| Methods inherited from interface javax.management.DynamicMBean |
|---|
getAttribute, getAttributes, invoke, setAttribute, setAttributes |
| Methods inherited from interface javax.management.MBeanRegistration |
|---|
postDeregister, postRegister, preDeregister, preRegister |
| Methods inherited from interface javax.management.NotificationBroadcaster |
|---|
addNotificationListener, getNotificationInfo, removeNotificationListener |
| Methods inherited from interface weblogic.descriptor.DescriptorBean |
|---|
addPropertyChangeListener, createChildCopyIncludingObsolete, getParentBean, isEditable, removePropertyChangeListener |
| Field Detail |
|---|
static final String SYNCWRITE_DISABLED
static final String SYNCWRITE_CACHEFLUSH
static final String SYNCWRITE_DIRECTWRITE
static final String SYNCWRITE_DIRECTWRITEWITHCACHE
| Method Detail |
|---|
String getDirectory()
The path name to the file system directory where the file store maintains its data files.
SynchronousWritePolicy of Direct-Write-With-Cache, see Cache Directory.
void setDirectory(String directory)
throws InvalidAttributeValueException
Sets the value of the Directory attribute.
directory - The new directory valueInvalidAttributeValueExceptionGenericFileStoreMBean.getDirectory()String getSynchronousWritePolicy()
The disk write policy that determines how the file store writes data to disk.
This policy also affects the JMS file store's performance, scalability, and reliability. Oracle recommends Direct-Write-With-Cache which tends to have the highest performance. The default value is Direct-Write. The valid policy options are:
Direct-Write Direct I/O is supported on all platforms. When available, file stores in direct I/O mode automatically load the native I/O wlfileio driver. This option tends to out-perform Cache-Flush and tend to be slower than Direct-Write-With-Cache. This mode does not require a native store wlfileio driver, but performs faster when they are available.Direct-Write-With-Cache Store records are written synchronously to primary files in the directory specified by the Directory attribute and asynchronously to a corresponding cache file in the Cache Directory. The Cache Directory provides information about disk space, locking, security, and performance implications. This mode requires a native store wlfileiocode driver. If the native driver cannot be loaded, then the write mode automatically switches to Direct-Write. See Cache Directory.Cache-Flush Transactions cannot complete until all of their writes have been flushed down to disk. This policy is reliable and scales well as the number of simultaneous users increases.Transactionally safe but tends to be a lower performer than direct-write policies.Disabled Transactions are complete as soon as their writes are cached in memory, instead of waiting for the writes to successfully reach the disk. This is the fastest policy because write requests do not block waiting to be synchronized to disk, but, unlike other policies, is not transactionally safe in the event of operating system or hardware failures. Such failures can lead to duplicate or lost data/messages. This option does not require native store wlfileio drivers, but may run faster when they are available. Some non-WebLogic JMS vendors default to a policy that is equivalent to Disabled.Notes:
wlfileio native drivers, which can improve performance. These drivers are included with Windows, Solaris, Linux, and AIX WebLogic installations.Write Cache Enabled setting is used. This violates the transactional semantics of transactional products (not specific to Oracle), including file stores configured with a Direct-Write (default) or Direct-Write-With-Cache policy, as a system crash or power failure can lead to a loss or a duplication of records/messages. One of the visible symptoms is that this problem may manifest itself in high persistent message/transaction throughput exceeding the physical capabilities of your storage device. You can address the problem by applying a Microsoft supplied patch, disabling the Windows Write Cache Enabled setting, or by using a power-protected storage device. See http://support.microsoft.com/kb/281672 and http://support.microsoft.com/kb/332023.Direct-Write-With-Cache or Disabled, and WebLogic JMS paging stores enhance performance by using the native wlfileio driver to perform memory-map operating system calls. When a store detects an incompatibility between NFS, file locking, and memory mapping, it automatically downgrades to conventional read/write system calls instead of memory mapping. For best performance, Oracle recommends investigating alternative NFS client drivers, configuring a non-NFS storage location, or in controlled environments and at your own risk, disabling the file locks (See Enable File Locking). For more information, see "Tuning the WebLogic Persistent Store" in Tuning Performance of Oracle WebLogic Server.
void setSynchronousWritePolicy(String policy)
throws InvalidAttributeValueException,
DistributedManagementException
Sets the value of the SynchronousWritePolicy attribute.
policy - The new synchronousWritePolicy valueInvalidAttributeValueExceptionDistributedManagementExceptionGenericFileStoreMBean.getSynchronousWritePolicy()String getCacheDirectory()
The location of the cache directory for Direct-Write-With-Cache, ignored for other policies.
When Direct-Write-With-Cache is specified as the SynchronousWritePolicy, cache files are created in addition to primary files (see Directory for the location of primary files). If a cache directory location is specified, the cache file path is CacheDirectory/WLStoreCache/StoreNameFileNum.DAT.cache. When specified, Oracle recommends using absolute paths, but if the directory location is a relative path, then CacheDirectory is created relative to the WebLogic Server instance's home directory. If "" or Null is specified, the Cache Directory is located in the current operating system temp directory as determined by the java.io.tmpdir Java System property (JDK's default: /tmp on UNIX, %TEMP% on Windows) and is TempDirectory/WLStoreCache/DomainName/unique-id/StoreNameFileNum.DAT.cache. The value of java.io.tmpdir varies between operating systems and configurations, and can be overridden by passing -Djava.io.tmpdir=My_path on the JVM command line.
Considerations:
temp directory. Relative paths should be avoided, as relative paths are located based on the domain installation, which is typically on remote storage. It is safe to delete a cache directory while the store is not running, but this may slow down the next store boot.kill -9, after an OS or JVM crash, or after an off-line change to the primary files, such as a store admin compaction. When cache files are recreated, a Warning log message 280102 is generated.Warning log message 280102, which is generated to indicate the need to recreate the cache on the new host system, can be ignored.
void setCacheDirectory(String cacheDirectory)
throws InvalidAttributeValueException
Sets the value of the CacheDirectory attribute.
cacheDirectory - The new cache directory valueInvalidAttributeValueExceptionGenericFileStoreMBean.getCacheDirectory()int getMinWindowBufferSize()
The minimum amount of data, in bytes and rounded down to the nearest power of 2, mapped into the JVM's address space per primary store file. Applies to synchronous write policies Direct-Write-With-Cache and Disabled, but only when a native wlfileio library is loaded. See Maximum Window Buffer Size.
void setMinWindowBufferSize(int minWindowBufferSize)
Sets the value of the MinWindowBufferSize attribute.
minWindowBufferSize - The new cache directory valueInvalidAttributeValueExceptionGenericFileStoreMBean.getMinWindowBufferSize()int getMaxWindowBufferSize()
The maximum amount of data, in bytes and rounded down to the nearest power of 2, mapped into the JVM's address space per primary store file. Applies to synchronous write policies Direct-Write-With-Cache and Disabled but only when the native wlfileio library is loaded.
A window buffer does not consume Java heap memory, but does consume off-heap (native) memory. If the store is unable to allocate the requested buffer size, it allocates smaller and smaller buffers until it reaches MinWindowBufferSize, and then fails if cannot honor MinWindowBufferSize.
Oracle recommends setting the max window buffer size to more than double the size of the largest write (multiple concurrently updated records may be combined into a single write), and greater than or equal to the file size, unless there are other constraints. 32-bit JVMs may impose a total limit of between 2 and 4GB for combined Java heap plus off-heap (native) memory usage.
AllocatedWindowBufferBytes to find out the actual allocated Window Buffer Size.void setMaxWindowBufferSize(int maxWindowBufferSize)
Sets the value of the MaxWindowBufferSize attribute.
maxWindowBufferSize - The new MaxWindowBufferSize valueInvalidAttributeValueExceptionGenericFileStoreMBean.getMaxWindowBufferSize()int getIoBufferSize()
The I/O buffer size, in bytes, automatically rounded down to the nearest power of 2.
Direct-Write-With-Cache policy when a native wlfileio driver is available, IOBufferSize describes the maximum portion of a cache view that is passed to a system call. This portion does not consume off-heap (native) or Java heap memory.Direct-Write and Cache-Flush policies, IOBufferSize is the size of a per store buffer which consumes off-heap (native) memory, where one buffer is allocated during run-time, but multiple buffers may be temporarily created during boot recovery.wlfileio driver is not available, the setting applies to off-heap (native) memory for all policies (including Disabled).IOBufferSize so that it is larger than the largest write (multiple concurrent store requests may be combined into a single write).IOBufferSize to at least 2 megabytes.See AllocatedIOBufferBytes to find out the actual allocated off-heap (native) memory amount. It is a multiple of IOBufferSize for the Direct-Write and Cache-Flush policies, or zero.
void setIoBufferSize(int ioBufferSize)
Sets the value of the IOBufferSize attribute.
ioBufferSize - The new IOBufferSize valueInvalidAttributeValueExceptionGenericFileStoreMBean.getIoBufferSize()long getMaxFileSize()
The maximum file size, in bytes.
MaxFileSize value affects the number of files needed to accommodate a store of a particular size (number of files = store size/MaxFileSize rounded up).MaxFileSize if there is not enough space for a new record. If there is no space left in exiting files for a new record, a store creates an additional file.MaxFileSize is larger than 2^24 * BlockSize, then MaxFileSize is ignored, and the value becomes 2^24 * BlockSize. The default BlockSize is 512, and 2^24 * 512 is 8 GB.void setMaxFileSize(long maxFileSize)
Sets the value of the MaxFileSize attribute.
maxFileSize - The new MaxFileSize valueInvalidAttributeValueExceptionGenericFileStoreMBean.getMaxFileSize()int getBlockSize()
The smallest addressable block, in bytes, of a file. When a native wlfileio driver is available and the block size has not been configured by the user, the store selects the minimum OS specific value for unbuffered (direct) I/O, if it is within the range [512, 8192].
void setBlockSize(int blockSize)
Sets the value of the BlockSize attribute.
blockSize - The new BlockSize valueInvalidAttributeValueExceptionGenericFileStoreMBean.getBlockSize()long getInitialSize()
The initial file size, in bytes.
InitialSize to pre-allocate file space during a file store boot. If InitialSize exceeds MaxFileSize, a store creates multiple files (number of files = InitialSize/MaxFileSize rounded up).InitialSize to limit or prevent file expansions during runtime, as file expansion introduces temporary latencies that may be noticeable under rare circumstances.void setInitialSize(long initialSize)
Sets the value of the InitialSize attribute.
initialSize - The new InitialSize valueInvalidAttributeValueExceptionGenericFileStoreMBean.getInitialSize()boolean isFileLockingEnabled()
Determines whether OS file locking is used.
When file locking protection is enabled, a store boot fails if another store instance already has opened the store files. Do not disable this setting unless you have procedures in place to prevent multiple store instances from opening the same file. File locking is not required but helps prevent corruption in the event that two same-named file store instances attempt to operate in the same directories. This setting applies to both primary and cache files.GenericFileStoreMBean.getDirectory(), GenericFileStoreMBean.getCacheDirectory()void setFileLockingEnabled(boolean fileLockingEnabled)
Sets the value of the FileLockingEnabled attribute.
fileLockingEnabled - The new FileLockingEnabled valueInvalidAttributeValueExceptionGenericFileStoreMBean.isFileLockingEnabled()
|
Copyright 1996, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Oracle Fusion Middleware Java API Reference for Oracle WebLogic Server 12c (12.2.1) Part Number E55141-01 P4 Change 1723563 on 2015/10/09 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||