public class DefaultBookmarkStore extends java.lang.Object implements BookmarkStore
BookmarkStore
interface that
does nothing.Constructor and Description |
---|
DefaultBookmarkStore() |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
discard(Field subId,
long bookmarkSequenceNumber)
Call this when you want to mark the message specified by the
subscription ID and the bookmark sequence number as discarded,
indicating that the application has completed processing the message.
|
void |
discard(Message message)
Call this when you want to mark the provided message as discarded,
indicating that the application has completed processing the message.
|
Field |
getMostRecent(Field subId)
Call this when you want to return the correct recovery point for
resubscription of the provided subID from the BookmarkStore.
|
Field |
getMostRecent(Field subId,
boolean useList)
Call this when you want to return the correct recovery point for
resubscription of the provided subID from the BookmarkStore.
|
long |
getOldestBookmarkSeq(Field subId)
Call this when you want to retrieve the sequence number of the oldest bookmark in the store.
|
boolean |
isDiscarded(Message message)
Called for each arriving message to determine if
the application has already processed and discarded this message.
|
long |
log(Message message)
Called internally by the Client to log a bookmark to the persistent log.
|
void |
persisted(Field subId,
BookmarkField bookmark)
Called internally by the Client to record the last persisted message in the transaction log of the connected AMPS server
to all of its sync replication destinations.
|
void |
persisted(Field subId,
long bookmark)
Old style of setting a persisted bookmark no longer used.
|
void |
purge()
Call this when you want to purge the contents of this store.
|
void |
purge(Field subId_)
Call this when you want to purge the contents of this store for a given subscription ID.
|
void |
setResizeHandler(BookmarkStoreResizeHandler handler)
Called this when you want to set a resize handler that is invoked when the store needs to resize.
|
void |
setServerVersion(int version_)
Called internally by the Client when connected to an AMPS server to indicate
what version the server is.
|
public long log(Message message)
BookmarkStore
log
in interface BookmarkStore
message
- The message containing the bookmark to log.public void discard(Field subId, long bookmarkSequenceNumber)
BookmarkStore
discard
in interface BookmarkStore
subId
- The subscription ID of the bookmark.bookmarkSequenceNumber
- The bookmark sequence number.public void discard(Message message) throws AMPSException
BookmarkStore
discard
in interface BookmarkStore
message
- Message to be marked as discarded.AMPSException
- Thrown when the specified message cannot be discareded.public Field getMostRecent(Field subId)
BookmarkStore
getMostRecent
in interface BookmarkStore
subId
- The subscription ID of the most recent bookmark.public Field getMostRecent(Field subId, boolean useList)
BookmarkStore
getMostRecent
in interface BookmarkStore
subId
- The subscription ID of the most recent bookmark.useList
- In the case where the store has not received any persisted
acks, it will build a list of bookmarks based on the last discarded for
each publisher if true (default).public boolean isDiscarded(Message message)
BookmarkStore
isDiscarded
in interface BookmarkStore
message
- Message used to determine if the application has already
processed and discarded the message.public void purge() throws AMPSException
BookmarkStore
purge
in interface BookmarkStore
AMPSException
- Thrown if the store is unable to remove the contents.public void purge(Field subId_) throws AMPSException
BookmarkStore
purge
in interface BookmarkStore
subId_
- The identifier of the subscription to purge.AMPSException
- Thrown if the store is unable to remove information for the subscription.public void persisted(Field subId, BookmarkField bookmark) throws AMPSException
BookmarkStore
persisted
in interface BookmarkStore
subId
- The subscription ID for the message.bookmark
- The bookmark containing the message.AMPSException
- Thrown if the store is unable to record information in the store.public void persisted(Field subId, long bookmark) throws AMPSException
BookmarkStore
persisted
in interface BookmarkStore
subId
- The subscription ID for the message.bookmark
- The bookmark sequence number.AMPSException
- Thrown if the store is unable to record information in the store.public long getOldestBookmarkSeq(Field subId) throws AMPSException
BookmarkStore
getOldestBookmarkSeq
in interface BookmarkStore
subId
- The subscription ID for the oldest bookmark in the store.AMPSException
- The operation could not successfully be completed.public void setResizeHandler(BookmarkStoreResizeHandler handler)
BookmarkStore
setResizeHandler
in interface BookmarkStore
handler
- The handler to invoke for the resize.public void setServerVersion(int version_)
BookmarkStore
setServerVersion
in interface BookmarkStore
version_
- The version of the AMPS server.public void close()
close
in interface java.lang.AutoCloseable