public interface DatabaseSystemEventDao
Modifier and Type | Method and Description |
---|---|
SystemEventNodeFinished |
addFinishedNode(Long eventId,
Long nodeId)
Add a completion marker that signifies a node has completed an event.
|
void |
clear()
Perform an
EntityManager.clear() |
NodeRegistration |
createNewNode(Long nodeId,
EventWorkerType workerType) |
void |
delete(MasterScheduledJobNode node) |
void |
deleteExecutedSingleUseJobs(org.broadleafcommerce.common.util.StreamingTransactionCapableUtil transUtil)
Delete non-recurring jobs.
|
void |
deleteJob(Long jobId)
Remove job based on the provided job id.
|
void |
deleteOldEvents(org.broadleafcommerce.common.util.StreamingTransactionCapableUtil transUtil)
Delete events from the system that are considered complete.
|
void |
deleteOldNodes(Date thresholdDate)
Remove nodes from the system that have not participated in a heartbeat check since the threshold date.
|
SystemEvent |
disableEvent(SystemEvent systemEvent)
Disable an event so that it will not be processed.
|
void |
disableScheduledJob(Long jobId) |
void |
enableEventsForProcess(Long processMarker)
Mass enable all events based on a marker.
|
NodeRegistration |
find(Long nodeId) |
ScheduledJob |
findJob(Long id) |
MasterScheduledJobNode |
findMasterDeployNode() |
MasterScheduledJobNode |
findMasterNode() |
SystemEvent |
findSystemEvent(Long eventId) |
SystemEvent |
finishEventInUseState(SystemEvent systemEvent)
Mark a VM scoped event as being finished with processing by a node.
|
List<SystemEvent> |
getLatestDurableEvents(Date lowDate,
Date lastProcessedDate,
List<Long> alreadyProcessedOnDate,
int startPos,
int pageSize,
EventWorkerType workerType)
Retrieve events of type DURABLE_GLOBAL.
|
Long |
getLatestDurableEventsCount(Date lowDate,
Date lastProcessedDate,
List<Long> alreadyProcessedOnDate,
EventWorkerType workerType) |
List<SystemEvent> |
getLatestEvents(Date lowDate,
int startPos,
int pageSize,
EventWorkerType workerType,
Long nodeId)
Get the list of events that were created after the lowDate that have not already been executed by this node.
|
Long |
getLatestEventsCount(Date lowDate,
EventWorkerType workerType) |
List<SystemEvent> |
getLatestScheduledDeployEvents(int startPos,
int pageSize) |
Date |
getMaxEventDateForNode(EventWorkerType workerType,
Long nodeId)
Find the latest date of event that has been completed by this node.
|
Date |
getNodeTimestamp(Long nodeId) |
boolean |
lockGlobalEvent(SystemEvent systemEvent,
Long nodeId)
Lock the event on the node.
|
boolean |
lockSerialEvent(SystemEvent systemEvent)
Lock the event of type
SystemEvent.getType() . |
void |
markJobAsExecuted(Long scheduledJobId) |
boolean |
nodeExists(Long nodeId)
Determine if a node registration exists in the database for the given id.
|
boolean |
optimisticUnlockSerialEvent(String key)
Unlock a serial event using optimistic locking.
|
void |
purgeDerelictMasterDeployNode(Date updated) |
void |
purgeDerelictMasterNode(Date updated)
Remove the master node registration from the database if the time provided is less than the current time.
|
List<ScheduledJob> |
readNewScheduledJobs() |
List<ScheduledJob> |
readScheduledJobs() |
NodeRegistration |
refresh(NodeRegistration node) |
void |
refresh(SystemEvent event) |
void |
removeLock(SystemEvent systemEvent)
Purge the lock record from the database
|
void |
save(List<SystemEvent> events) |
MasterScheduledJobNode |
save(MasterScheduledJobNode node) |
NodeRegistration |
save(NodeRegistration node) |
ScheduledJob |
save(ScheduledJob job) |
SystemEvent |
save(SystemEvent systemEvent) |
SystemEvent |
startEventInUseState(SystemEvent systemEvent)
Mark a VM scoped event as being processed by a node (other node will ignore the event).
|
void |
unlockSerialEvent(String key) |
void |
updateMasterDeployTimestamp() |
void |
updateMasterTimestamp() |
void |
updateMaxEventDate(Date maxEventDate) |
void |
updateMaxEventDate(Long nodeId,
Date maxEventDate)
Update the time that the node is marked to have completed its last event.
|
void |
updateNodeTimestamp(Long nodeId) |
SystemEvent save(SystemEvent systemEvent)
void save(List<SystemEvent> events)
void enableEventsForProcess(Long processMarker)
SystemEvent.getProcessMarker()
processMarker
- boolean nodeExists(Long nodeId)
nodeId
- NodeRegistration
NodeRegistration createNewNode(Long nodeId, EventWorkerType workerType)
NodeRegistration save(NodeRegistration node)
NodeRegistration find(Long nodeId)
List<SystemEvent> getLatestEvents(Date lowDate, int startPos, int pageSize, EventWorkerType workerType, Long nodeId)
getLatestDurableEvents(java.util.Date, java.util.Date, java.util.List, int, int, com.broadleafcommerce.jobsevents.service.type.EventWorkerType)
for retrieving durable events.lowDate
- startPos
- pageSize
- workerType
- nodeId
- List<SystemEvent> getLatestScheduledDeployEvents(int startPos, int pageSize)
List<SystemEvent> getLatestDurableEvents(Date lowDate, Date lastProcessedDate, List<Long> alreadyProcessedOnDate, int startPos, int pageSize, EventWorkerType workerType)
DurableEventStatusInfo
, which is harvested from a local store maintained
by DurableEventStatusService
.lowDate
- lastProcessedDate
- alreadyProcessedOnDate
- startPos
- pageSize
- workerType
- Long getLatestDurableEventsCount(Date lowDate, Date lastProcessedDate, List<Long> alreadyProcessedOnDate, EventWorkerType workerType)
Long getLatestEventsCount(Date lowDate, EventWorkerType workerType)
SystemEvent disableEvent(SystemEvent systemEvent)
systemEvent
- SystemEvent startEventInUseState(SystemEvent systemEvent)
EventLockUtil
class.systemEvent
- event with scope type of VMSystemEvent finishEventInUseState(SystemEvent systemEvent)
EventLockUtil
class.systemEvent
- event with scope type of VMvoid deleteOldNodes(Date thresholdDate)
thresholdDate
- void deleteOldEvents(org.broadleafcommerce.common.util.StreamingTransactionCapableUtil transUtil)
transUtil
- MasterScheduledJobNode findMasterNode()
MasterScheduledJobNode findMasterDeployNode()
MasterScheduledJobNode save(MasterScheduledJobNode node)
void purgeDerelictMasterNode(Date updated)
updated
- void purgeDerelictMasterDeployNode(Date updated)
List<ScheduledJob> readScheduledJobs()
List<ScheduledJob> readNewScheduledJobs()
void delete(MasterScheduledJobNode node)
void updateMaxEventDate(Long nodeId, Date maxEventDate)
nodeId
- maxEventDate
- void updateMaxEventDate(Date maxEventDate)
void updateMasterTimestamp()
void updateMasterDeployTimestamp()
void updateNodeTimestamp(Long nodeId)
NodeRegistration refresh(NodeRegistration node)
ScheduledJob save(ScheduledJob job)
boolean lockSerialEvent(SystemEvent systemEvent)
SystemEvent.getType()
. No other event
of this type will be able to execute on any node in the cluster until this event completes consumption.systemEvent
- boolean lockGlobalEvent(SystemEvent systemEvent, Long nodeId)
systemEvent
- nodeId
- void removeLock(SystemEvent systemEvent)
systemEvent
- void unlockSerialEvent(String key)
boolean optimisticUnlockSerialEvent(String key)
key
- void markJobAsExecuted(Long scheduledJobId)
void deleteExecutedSingleUseJobs(org.broadleafcommerce.common.util.StreamingTransactionCapableUtil transUtil)
ScheduledJob.getTargetDate()
transUtil
- void disableScheduledJob(Long jobId)
void clear()
EntityManager.clear()
ScheduledJob findJob(Long id)
void deleteJob(Long jobId)
jobId
- Date getMaxEventDateForNode(EventWorkerType workerType, Long nodeId)
workerType
- nodeId
- void refresh(SystemEvent event)
SystemEvent findSystemEvent(Long eventId)
SystemEventNodeFinished addFinishedNode(Long eventId, Long nodeId)
eventId
- nodeId
- Copyright © 2019. All rights reserved.