org.databene.platform.db
Class CachedSequenceGenerator
java.lang.Object
org.databene.benerator.util.AbstractGenerator<E>
org.databene.benerator.util.AbstractNonNullGenerator<E>
org.databene.benerator.util.ThreadSafeNonNullGenerator<java.lang.Long>
org.databene.platform.db.AbstractSequenceGenerator
org.databene.platform.db.CachedSequenceGenerator
- All Implemented Interfaces:
- java.io.Closeable, Generator<java.lang.Long>, NonNullGenerator<java.lang.Long>, org.databene.commons.Resettable, org.databene.commons.ThreadAware
public class CachedSequenceGenerator
- extends AbstractSequenceGenerator
Reads the current value of a sequence on first invocation,
increases the value locally on subsequent calls and
finally (on close()) updates the DB sequence with the local value.
This saves database round trips but limits execution to a single
client.
Created: 11.11.2009 18:35:26
- Since:
- 0.6.0
- Author:
- Volker Bergmann
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.databene.commons.Resettable |
reset |
CachedSequenceGenerator
public CachedSequenceGenerator()
CachedSequenceGenerator
public CachedSequenceGenerator(java.lang.String name,
DBSystem database)
init
public void init(GeneratorContext context)
- Specified by:
init
in interface Generator<java.lang.Long>
- Overrides:
init
in class AbstractSequenceGenerator
generate
public java.lang.Long generate()
- Specified by:
generate
in interface NonNullGenerator<java.lang.Long>
- Specified by:
generate
in class AbstractNonNullGenerator<java.lang.Long>
close
public void close()
- Description copied from interface:
Generator
- Closes the generator. After invocation the state is unavailable.
- Specified by:
close
in interface java.io.Closeable
- Specified by:
close
in interface Generator<java.lang.Long>
- Overrides:
close
in class AbstractGenerator<java.lang.Long>
Copyright © 2013. All Rights Reserved.