public class EagerContentStoreCleaner extends TransactionListenerAdapter
eager cleanup
is activated, then this
component listens to all content property change events and recorded for post-transaction
processing. All orphaned content is deleted from the registered store(s). Note that
any listeners
are called as normal; backup or scrubbing
procedures should be plugged in as listeners if this is required.
Lazy cleanup:
This is triggered by means of a Quartz job
. This is
a heavy-weight process that effectively compares the database metadata with the
content URLs controlled by the various stores. Once again, the listeners are called
appropriately.
How backup policies are affected:
When restoring the system from a backup, the type of restore required is dictated by
the cleanup policy being enforced. If eager cleanup is active, the system mustDeletedContentBackupCleanerListener
, or Constructor and Description |
---|
EagerContentStoreCleaner() |
Modifier and Type | Method and Description |
---|---|
void |
afterCommit()
Cleans up all newly-orphaned content
|
void |
afterRollback()
Invoked after transaction rollback.
|
protected boolean |
deleteFromStore(String contentUrl,
org.alfresco.repo.content.ContentStore store)
Attempts to delete the URL from the store, catching and reporing errors.
|
boolean |
deleteFromStores(String contentUrl)
Delete the content URL from all stores
Note that listeners are called for this process.
|
void |
init()
Initializes the cleaner based on the
eagerCleanup flag. |
void |
registerNewContentUrl(String contentUrl)
Queues orphaned content for post-transaction removal
|
boolean |
registerOrphanedContentUrl(String contentUrl)
Queues orphaned content for post-transaction removal
NB: Any content registered will be deleted if the current transaction
commits and if 'eager' cleanup is turned on.
|
boolean |
registerOrphanedContentUrl(String contentUrl,
boolean force)
Queues orphaned content for post-transaction removal
NB: Any content registered will be deleted if the current transaction
commits and if 'eager' cleanup is turned on OR if 'force' is true.
|
void |
setEagerOrphanCleanup(boolean eagerOrphanCleanup) |
void |
setListeners(List<ContentStoreCleanerListener> listeners) |
void |
setStores(List<org.alfresco.repo.content.ContentStore> stores) |
beforeCommit, beforeCompletion, flush
public void setEagerOrphanCleanup(boolean eagerOrphanCleanup)
eagerOrphanCleanup
- true to enable this component, otherwise falsepublic void setStores(List<org.alfresco.repo.content.ContentStore> stores)
stores
- the content stores to cleanpublic void setListeners(List<ContentStoreCleanerListener> listeners)
listeners
- the listeners that can react to deletionspublic void init()
eagerCleanup
flag.public void registerNewContentUrl(String contentUrl)
public boolean registerOrphanedContentUrl(String contentUrl)
public boolean registerOrphanedContentUrl(String contentUrl, boolean force)
force
- true for force the post-commit URL deletion
regardless of the setting setEagerOrphanCleanup(boolean)
.public void afterCommit()
afterCommit
in interface org.alfresco.util.transaction.TransactionListener
afterCommit
in class TransactionListenerAdapter
public void afterRollback()
TransactionListenerAdapter
Any exceptions generated here will only be logged and will have no effect on the state of the transaction.
Although all transaction resources are still available, this method should be used only for cleaning up resources after a rollback has occured.
afterRollback
in interface org.alfresco.util.transaction.TransactionListener
afterRollback
in class TransactionListenerAdapter
public boolean deleteFromStores(String contentUrl)
contentUrl
- the URL to deleteprotected boolean deleteFromStore(String contentUrl, org.alfresco.repo.content.ContentStore store)
Copyright © 2005–2017 Alfresco Software. All rights reserved.