public abstract class SequenceManager<S extends Sequence,P extends Sequence>
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected weblogic.wsee.reliability2.io.SequenceIOManager |
_ioMgr |
private com.oracle.state.persistence.Listener<S> |
_listener |
protected SequenceManager<P,S> |
_peer |
protected com.oracle.state.persistence.Store<S> |
_store
The map of record for sequences.
|
private java.lang.String |
_type |
private static java.lang.String |
CREATE_SEQUENCE_MSG_ID |
private static java.util.logging.Logger |
LOGGER |
Modifier | Constructor and Description |
---|---|
protected |
SequenceManager(com.oracle.state.persistence.Store<S> map)
Construct the base sequence manager.
|
Modifier and Type | Method and Description |
---|---|
protected void |
addAlternateKeySpecsToList(java.util.List<com.oracle.state.ext.query.AlternateKeySpec> specs) |
boolean |
addSequence(S seq)
Add the given sequence to the set of sequences being managed.
|
void |
close() |
private com.oracle.state.ext.query.AlternateKeySpec[] |
collectAlternateKeySpecs() |
weblogic.wsee.reliability2.io.SequenceIOManager |
getIoMgr() |
SequenceManager<P,S> |
getPeer() |
S |
getSequence(WsrmConstants.RMVersion rmVersion,
java.lang.String id)
Obtain a reference to the sequence with the given ID.
|
S |
getSequence(WsrmConstants.RMVersion rmVersion,
java.lang.String id,
boolean allowNonExistent)
Get a sequence by it's ID, optionally throwing an exception if it cannot
be found.
|
protected S |
getSequenceUsingAlternateKeys(WsrmConstants.RMVersion rmVersion,
java.lang.String id) |
com.oracle.state.persistence.Store<S> |
getStore() |
static java.lang.String |
getUnknownSequenceLogMessage(boolean sourceSide,
java.lang.String seqId) |
void |
internalUnsetStoreListener()
Internal use only!
|
protected void |
listenToStore() |
java.util.Iterator<S> |
listSequences() |
void |
open() |
private void |
parseType() |
void |
removeSequence(S seq) |
void |
setIoMgr(weblogic.wsee.reliability2.io.SequenceIOManager ioMgr) |
void |
setPeer(SequenceManager<P,S> peer) |
void |
setStoreListener(com.oracle.state.persistence.Listener<S> listener) |
boolean |
updateSequence(S oldSeq,
S seq) |
private static final java.util.logging.Logger LOGGER
private static final java.lang.String CREATE_SEQUENCE_MSG_ID
protected SequenceManager<P extends Sequence,S extends Sequence> _peer
protected weblogic.wsee.reliability2.io.SequenceIOManager _ioMgr
protected com.oracle.state.persistence.Store<S extends Sequence> _store
private java.lang.String _type
protected SequenceManager(com.oracle.state.persistence.Store<S> map)
public void open()
private com.oracle.state.ext.query.AlternateKeySpec[] collectAlternateKeySpecs()
protected void addAlternateKeySpecsToList(java.util.List<com.oracle.state.ext.query.AlternateKeySpec> specs)
protected S getSequenceUsingAlternateKeys(WsrmConstants.RMVersion rmVersion, java.lang.String id)
public void close()
public com.oracle.state.persistence.Store<S> getStore()
public void setPeer(SequenceManager<P,S> peer)
public SequenceManager<P,S> getPeer()
public weblogic.wsee.reliability2.io.SequenceIOManager getIoMgr()
public void setIoMgr(weblogic.wsee.reliability2.io.SequenceIOManager ioMgr)
public void setStoreListener(com.oracle.state.persistence.Listener<S> listener)
public void internalUnsetStoreListener()
protected void listenToStore()
private void parseType()
public boolean addSequence(S seq) throws WsrmException
seq
- The new sequenceDuplicateSequenceException
- If a sequence with the given ID already
exists.WsrmException
- If any other error occurs adding the sequence.public boolean updateSequence(S oldSeq, S seq) throws UnknownSequenceException, weblogic.wsee.reliability2.io.StaleSequenceException
UnknownSequenceException
weblogic.wsee.reliability2.io.StaleSequenceException
public S getSequence(WsrmConstants.RMVersion rmVersion, java.lang.String id)
rmVersion
- Version used if an error must be thrown. Ok to just
pass RMVersion.latest() if you don't know the actual version.id
- The sequence ID of the sequence you want to get.public S getSequence(WsrmConstants.RMVersion rmVersion, java.lang.String id, boolean allowNonExistent) throws UnknownSequenceException
rmVersion
- Expected RM version, does not affect the lookup, but is
propagated in any UnknownSequenceException that may be thrown. Ok
to pass RMVersion.latest() if you don't know the version.id
- The ID of the sequence to retrieve.allowNonExistent
- If true, null can be returned if the sequence is
not found, otherwise UnknownSequenceFault is thrown.UnknownSequenceException
- If lookup fails and allowNonExistent is
false.public java.util.Iterator<S> listSequences()
public void removeSequence(S seq)
public static java.lang.String getUnknownSequenceLogMessage(boolean sourceSide, java.lang.String seqId)