Package com.adaptris.core.services.jdbc
Class MetadataIdentitySequenceNumberService
java.lang.Object
com.adaptris.core.ServiceImp
com.adaptris.core.jdbc.JdbcService
com.adaptris.core.services.jdbc.AbstractJdbcSequenceNumberService
com.adaptris.core.services.jdbc.MetadataIdentitySequenceNumberService
- All Implemented Interfaces:
AdaptrisComponent
,ComponentLifecycle
,ComponentLifecycleExtension
,ConfigComment
,ConnectedService
,MessageEventGenerator
,Service
,StateManagedComponent
@ComponentProfile(summary="Create a sequence number using a database, the sequence number is associated with a metadata key",
tag="service,metadata,jdbc,sequence")
public class MetadataIdentitySequenceNumberService
extends AbstractJdbcSequenceNumberService
Implementation of AbstractJdbcSequenceNumberService where the identity is derived from metadata.
The default database schema is assumed to be
CREATE TABLE SEQUENCES (ID VARCHAR(255) NOT NULL, SEQ_NUMBER INT)
The default SQL statements reflect this; and provided that a table called 'SEQUENCES' contains at least those two columns
then it should work without any changes to the SQL statements. Be aware that all statements default to upper-case which will have
an impact if your database is case-sensitive (such as MySQL on Linux).
In the adapter configuration file this class is aliased as jdbc-metadata-sequence-number-service which is the preferred alternative to the fully qualified classname when building your configuration.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.adaptris.core.services.jdbc.AbstractJdbcSequenceNumberService
AbstractJdbcSequenceNumberService.OverflowBehaviour
-
Field Summary
Fields inherited from class com.adaptris.core.services.jdbc.AbstractJdbcSequenceNumberService
DEFAULT_INSERT_STATEMENT, DEFAULT_RESET_STATEMENT, DEFAULT_SELECT_STATEMENT, DEFAULT_UPDATE_STATEMENT
Fields inherited from class com.adaptris.core.ServiceImp
log
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
doService
(AdaptrisMessage msg) Apply the service to the message.Get the appropriate identity from the msg.void
setIdentityMetadataKey
(String identityMetadataKey) Set the metadata key that contains the identity.Methods inherited from class com.adaptris.core.services.jdbc.AbstractJdbcSequenceNumberService
closeJdbcService, exceedsMaxSequence, getAlwaysReplaceMetadata, getCreateDatabase, getInsertStatement, getMaximumSequenceNumber, getMetadataKey, getNumberFormat, getOverflowBehaviour, getResetStatement, getSelectStatement, getUpdateStatement, hasOverflowed, initJdbcService, prepareService, setAlwaysReplaceMetadata, setCreateDatabase, setInsertStatement, setMaximumSequenceNumber, setMetadataKey, setNumberFormat, setOverflowBehaviour, setResetStatement, setSelectStatement, setUpdateStatement, startService, stopService
Methods inherited from class com.adaptris.core.jdbc.JdbcService
applyTimeout, closeService, createStatement, getConnection, getConnection, getStatementTimeout, initService, prepare, prepareStatement, prepareStatement, setConnection, setStatementTimeout, start, stop
Methods inherited from class com.adaptris.core.ServiceImp
changeState, close, continueOnFailure, createName, createQualifier, getComments, getContinueOnFail, getIsTrackingEndpoint, getUniqueId, init, isBranching, isTrackingEndpoint, requestClose, requestInit, requestStart, requestStop, retrieveComponentState, setComments, setContinueOnFail, setIsTrackingEndpoint, setUniqueId
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.adaptris.core.AdaptrisComponent
getUniqueId
Methods inherited from interface com.adaptris.core.ComponentLifecycle
close, init
Methods inherited from interface com.adaptris.core.ConfigComment
getComments, setComments
Methods inherited from interface com.adaptris.core.MessageEventGenerator
createName, createQualifier, isTrackingEndpoint
Methods inherited from interface com.adaptris.core.Service
continueOnFailure, isBranching, setUniqueId
Methods inherited from interface com.adaptris.core.StateManagedComponent
changeState, requestClose, requestInit, requestStart, requestStop, retrieveComponentState
-
Constructor Details
-
MetadataIdentitySequenceNumberService
public MetadataIdentitySequenceNumberService()
-
-
Method Details
-
doService
Description copied from interface:Service
Apply the service to the message.
- Specified by:
doService
in interfaceService
- Overrides:
doService
in classAbstractJdbcSequenceNumberService
- Parameters:
msg
- theAdaptrisMessage
to process- Throws:
ServiceException
- wrapping any underlyingException
s- See Also:
-
getIdentity
Description copied from class:AbstractJdbcSequenceNumberService
Get the appropriate identity from the msg.For sequence numbers, the identity returned here will be used as a substitution for an SQL statement.
- Specified by:
getIdentity
in classAbstractJdbcSequenceNumberService
- Parameters:
msg
- the message currently being processed- Returns:
- the identity to be used as a parameter in the SQL statements, or null if no identity is required.
- Throws:
ServiceException
- wrapping any exception.
-
getIdentityMetadataKey
-
setIdentityMetadataKey
Set the metadata key that contains the identity.- Parameters:
identityMetadataKey
- the metadata key, default metadata key is 'identity'
-