com.lutris.appserver.server.sql.standard
Class StandardObjectIdAllocator
java.lang.Object
|
+--com.lutris.appserver.server.sql.standard.StandardObjectIdAllocator
- Direct Known Subclasses:
- InformixObjectIdAllocator, MsqlObjectIdAllocator, OracleObjectIdAllocator, SybaseObjectIdAllocator
- public class StandardObjectIdAllocator
- extends java.lang.Object
- implements ObjectIdAllocator
Object ids can only be created via this manager.
Ensures that all object ids are unique across all
objects in this logical database. Also ensures good performance
for allocating object ids.
The configuration data is specified in the section:
DatabaseManager.DB.dbName.ObjectId
Configuration fields are:
-
CacheSize
-
The number of object id's to cache between database queries. Optional,
if not specified, then it defaults to 1024.
-
MinValue
-
The starting number of Object ID allocation. This will only be used
if the Object ID table is empty and thus is useful in development
and testing. Optional, if not specified it defaults to
100000000000000000. Note that the largest number that can be
associated with an OID in LBS is "database: DECIMAL(19,0)"
- Since:
- LBS1.8
- Version:
- $Revision: 1.7.12.1 $
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
StandardObjectIdAllocator
protected StandardObjectIdAllocator(LogicalDatabase logicalDatabase,
Config objIdConfig)
throws ConfigException
- Initialize the object id manager.
- Parameters:
objCacheSize
- The number of object ids to cache between
database queries.objIdMinValue
- The starting number for object ids. Used
only if object id table is empty.- Throws:
- ConfigException - if bad configuration information is
given in the config file.
allocate
public ObjectId allocate()
- Allocates a new object id.
- Specified by:
- allocate in interface ObjectIdAllocator