org.apache.ojb.broker.util.sequence
Class SequenceManagerHighLowImpl
java.lang.Object
org.apache.ojb.broker.util.sequence.AbstractSequenceManager
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl
- All Implemented Interfaces:
- SequenceManager
- public class SequenceManagerHighLowImpl
- extends AbstractSequenceManager
High/Low sequence manager implementation generates unique and continuous
id's (during runtime) by using sequences to avoid database access.
Implementation configuration properties:
Property Key |
Property Values |
grabSize |
Integer entry determines the
number of IDs allocated within the
H/L sequence manager implementation.
Default was '20'.
|
globalSequenceId |
If set 'true' implementation use global unique
id's for all fields. Default was 'false'.
|
globalSequenceStart |
Set the start index of used global id
generation (e.g. set 100000, id generation starts with 100001)
|
autoNaming |
Default was 'true'. If set 'true' OJB try to build a
sequence name automatic if none found in field-descriptor
and set this generated name as sequence-name
in field-descriptor. If set 'false' OJB throws an exception
if none sequence name was found in field-descriptor.
|
Limitations:
- Do NOT use this implementation in managed environment or
any comparable system where any connection was associated
with the running transaction.
- Version:
- $Id: SequenceManagerHighLowImpl.java,v 1.26 2004/02/05 09:34:10 arminw Exp $
- Author:
- Armin Waibel
- See Also:
SequenceManager
,
SequenceManagerFactory
,
SequenceManagerHelper
Methods inherited from class org.apache.ojb.broker.util.sequence.AbstractSequenceManager |
afterStore, calculateSequenceName, getBrokerForClass, getConfigurationProperties, getConfigurationProperty, getPlatform, getUniqueValue, setConfigurationProperties, setConfigurationProperty, setReferenceFKs, useAutoNaming |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PROPERTY_GRAB_SIZE
public static final java.lang.String PROPERTY_GRAB_SIZE
- See Also:
- Constant Field Values
PROPERTY_GLOBAL_SEQUENCE_ID
public static final java.lang.String PROPERTY_GLOBAL_SEQUENCE_ID
- See Also:
- Constant Field Values
PROPERTY_GLOBAL_SEQUENCE_START
public static final java.lang.String PROPERTY_GLOBAL_SEQUENCE_START
- See Also:
- Constant Field Values
sequencesMap
protected static java.util.Map sequencesMap
useGlobalSequenceIdentities
protected boolean useGlobalSequenceIdentities
grabSize
protected int grabSize
globalSequenceStart
protected long globalSequenceStart
attempts
protected int attempts
SequenceManagerHighLowImpl
public SequenceManagerHighLowImpl(PersistenceBroker broker)
getUniqueLong
protected long getUniqueLong(FieldDescriptor field)
throws SequenceManagerException
- Description copied from class:
AbstractSequenceManager
- returns a unique long value for field.
the returned number is unique accross all tables in the extent of clazz.
- Specified by:
getUniqueLong
in class AbstractSequenceManager
- Throws:
SequenceManagerException
getSequence
protected HighLowSequence getSequence(PersistenceBroker brokerForSequence,
FieldDescriptor field,
java.lang.String sequenceName)
throws SequenceManagerException
- Throws:
SequenceManagerException
lookupStoreSequence
protected HighLowSequence lookupStoreSequence(PersistenceBroker broker,
FieldDescriptor field,
java.lang.String seqName)
newSequenceObject
protected HighLowSequence newSequenceObject(java.lang.String sequenceName,
FieldDescriptor field)
getMaxKeyForSequence
protected long getMaxKeyForSequence(PersistenceBroker broker,
FieldDescriptor field)
Authors: Thomas Mahler and others. (C) 2000 - 2003 Apache Software Foundation
All rights reserved. Published under the Apache License.
http://db.apache.org/ojb
Version: 1.0.rc5, 2003-12-14