A.2. Persistent Object Stores
This section briefly describes the characteristics and optimizations of each of the supplied implementations of the persistent object store. Persistent object states are mapped onto the structure of the file system supported by the host operating system.
Common Functionality
In addition to the features mentioned earlier, all of the supplied persistent object stores obey the following rules:
- Each object state is stored in its own file, which is named using the
Uid
of the object. - The type of an object, provided by the
type()
operation, determines the directory where the object is placed. - All of the stores have a common root directory which is determined by the JBoss Transaction Service configuration. This directory name is automatically prepended to any store-specific root information.
- All stores can also use a localized root directory that is automatically prepended to the type of the object to determine the ultimate directory name. The localized root name is specified when the store is created. The default localized root name is
defaultStore
.
Item
|
Example Value
|
---|---|
ObjectStore root Directory from configure
| /JBossTS/ObjectStore/
|
ObjectStore Type 1
| FragmentedStore/
|
Default root
| defaultStore/
|
StateManager
| StateManager
|
LockManager
| LockManager/
|
User Types
|
|
Localised root 2
| myStore/
|
StateManager
| StateManager/
|
ObjectStore Type2
| ActionStore/
|
Default root
| defaultStore/
|
A.2.1. The Shadowing Store
The shadowing store is the original version of the object store as provided in prior releases. It is implemented by the
ShadowingStore
class. It is simple but slow, using pairs of files to represent objects: the shadow version and the committed version. Files are opened, locked, operated upon, unlocked, and closed during every interaction with the object store. This can take more resources than strictly necessary just to open, close, and rename files.
The type of this object store is ShadowingStore.