Interface SynchronyEvictionDao

All Known Implementing Classes:
DefaultSynchronyEvictionDao

public interface SynchronyEvictionDao
Find and remove content from synchrony tables.
Since:
7.0.0
  • Method Details

    • findSafeContentWithHistoryOlderThan

      @Transactional(readOnly=true) List<Long> findSafeContentWithHistoryOlderThan(int synchronyThresholdHours, int draftThresholdHours, int limit)
      Get at most content ids from synchrony tables, for each all events are older than hours from now. Also, check that last modification day of the draft is at least . This is important to ensure that nobody has the editor open with this content right now.
    • findContentWithAnyEventOlderThan

      @Transactional(readOnly=true) List<Long> findContentWithAnyEventOlderThan(int eventThresholdHours, int limit)
      Get at most content ids from synchrony events table, for each at least one event is older than hours from now.
    • findContentWithAnySnapshotOlderThan

      @Transactional(readOnly=true) List<Long> findContentWithAnySnapshotOlderThan(int snapshotThresholdHours, int limit)
      Get at most content ids from synchrony snapshot table, for each at least one event is older than hours from now.
    • removeAllSynchronyDataFor

      @Transactional(propagation=REQUIRES_NEW) int removeAllSynchronyDataFor(Collection<Long> contentIds)
      Remove all synchrony data matching
      Returns:
      actual number of rows removed from the DB
    • getEventsCount

      @Transactional(readOnly=true) long getEventsCount(Long contentId)
      Returns:
      if is not null, returns the number of Synchrony event rows related to the entity. Otherwise returns the total number of Synchrony events in the DB.
    • getSnapshotsCount

      @Transactional(readOnly=true) long getSnapshotsCount(Long contentId)
      Returns:
      if is not null, returns the number of Synchrony snapshot rows related to the entity. Otherwise returns the total number of Synchrony snapshots in the DB.
    • removeApplicationIds

      @Transactional(propagation=REQUIRES_NEW) int removeApplicationIds(Collection<String> applicationIds)
    • removeContentProperties

      @Transactional(propagation=REQUIRES_NEW) void removeContentProperties()