Cache Concurrency

JADE enables you to optimize locking based on the frequency at which an object is updated, by specifying that an object has one of the following categories.

An example of where the volatility feature can provide benefit is when iterating through collections, using iterators or the foreach instruction. Making a collection stable or frozen improves performance, as there is no need to request the server to fetch the collection header object from the database every time the collection is to be iterated in response to the implicit shared lock requests associated with iterating collections.

The Schema Inspector displays class and object volatility by default, which enables you to check whether objects and collections are set to stable or frozen without having to write code to determine the volatility state of an object or collection.

Frozen and Stable volatility applies to persistent objects only. All transient objects are considered Volatile.

The ObjectVolatility category global constants for the object volatility states are listed in the following table.

Global Constant Integer Value Description
Volatility_Frozen #04 Object is frozen (that is, it is not updated)
Volatility_Stable #08 Object is stable (that is, it is updated infrequently)
Volatility_Volatile #00 Object is volatile (that is, it is updated often)