public void expireOldEntries ( ) { // Expire old entries final ICommonsList < IReIndexWorkItem > aExpiredItems = m_aReIndexList . getAndRemoveAllEntries ( IReIndexWorkItem :: isExpired ) ; if ( aExpiredItems . isNotEmpty ( ) ) { LOGGER . info ( "Expiring " + aExpiredItems . size ( ) + " re-index work items and move them to the dead list" ) ; for ( final IReIndexWorkItem aItem : aExpiredItems ) { // remove them from the overall list but move to dead item list m_aRWLock . writeLocked ( ( ) -> m_aUniqueItems . remove ( aItem . getWorkItem ( ) ) ) ; // move all to the dead item list m_aDeadList . addItem ( ( ReIndexWorkItem ) aItem ) ; LOGGER . info ( "Added " + aItem . getLogText ( ) + " to the dead list" ) ; } } }
Expire all re - index entries that are in the list for a too long time . This is called from a scheduled job only . All respective items are move from the re - index list to the dead list .