Package nl.nn.adapterframework.pipes
Class CleanupOldFilesPipe
- java.lang.Object
-
- nl.nn.adapterframework.core.TransactionAttributes
-
- nl.nn.adapterframework.pipes.AbstractPipe
-
- nl.nn.adapterframework.pipes.FixedForwardPipe
-
- nl.nn.adapterframework.pipes.CleanupOldFilesPipe
-
- All Implemented Interfaces:
HasTransactionAttribute
,IConfigurable
,IConfigurationAware
,IExtendedPipe
,IForwardTarget
,INamedObject
,IPipe
,IScopeProvider
,EventThrowing
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
public class CleanupOldFilesPipe extends FixedForwardPipe
Pipe for deleting files.- Since:
- 4.2
- Author:
- John Dekker
-
-
Field Summary
-
Fields inherited from class nl.nn.adapterframework.pipes.AbstractPipe
parameterNamesMustBeUnique
-
Fields inherited from class nl.nn.adapterframework.core.TransactionAttributes
log
-
Fields inherited from interface nl.nn.adapterframework.core.IExtendedPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
-
-
Constructor Summary
Constructors Constructor Description CleanupOldFilesPipe()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PipeRunResult
doPipe(Message message, PipeLineSession session)
This is where the action takes place.String
getExcludeWildcard()
String
getFilePattern()
String
getFilePatternSessionKey()
long
getLastModifiedDelta()
long
getMinStableTime()
String
getWildcard()
boolean
isDeleteEmptySubdirectories()
boolean
isSubdirectories()
void
setDeleteEmptySubdirectories(boolean b)
whentrue
, empty subdirectories will be deleted, toovoid
setExcludeWildcard(String excludeWildcard)
filter of files to be excluded for deletionvoid
setFilePattern(String string)
files that match this pattern will be deleted.void
setFilePatternSessionKey(String string)
session key that contains the pattern of files to be deleted, only used if filePattern is not setvoid
setLastModifiedDelta(long l)
time in milliseconds after last modification that must have passed at least before a file will be deleted (set to negative value to disable)void
setMinStableTime(long minStableTime)
Minimal age of file in milliseconds, to avoid deleting a file while it is still being written (only used when wildcard is set) (set to 0 to disable)void
setSubdirectories(boolean b)
whentrue
, files in subdirectories will be deleted, toovoid
setWildcard(String string)
filter of files to delete.-
Methods inherited from class nl.nn.adapterframework.pipes.FixedForwardPipe
configure, getIfParam, getIfValue, getOnlyIfSessionKey, getOnlyIfValue, getParameterValue, getSuccessForward, getUnlessSessionKey, getUnlessValue, isSkipOnEmptyInput, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
-
Methods inherited from class nl.nn.adapterframework.pipes.AbstractPipe
addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getApplicationContext, getChompCharSize, getConfigurationClassLoader, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getEventSourceName, getForwards, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getInSizeStatDummyObject, getLocker, getLogIntermediaryResults, getMaxThreads, getName, getOutSizeStatDummyObject, getParameterList, getPipeLine, getSecLogSessionKeys, getStoreResultInSessionKey, hasSizeStatistics, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, registerEvent, registerForward, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setEventPublisher, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPipeLine, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, start, stop, throwEvent
-
Methods inherited from class nl.nn.adapterframework.core.TransactionAttributes
configureTransactionAttributes, getTransactionAttribute, getTransactionTimeout, getTxDef, isTransacted, isTransacted, setTransacted, setTransactionAttribute, setTransactionTimeout
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface nl.nn.adapterframework.core.IExtendedPipe
throwEvent
-
-
-
-
Method Detail
-
doPipe
public PipeRunResult doPipe(Message message, PipeLineSession session) throws PipeRunException
Description copied from interface:IPipe
This is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult. If the result of the Pipe does not depend on the input, like for theFixedResultPipe
, the Pipe can schedule the input to be closed at session exit, by callingMessage.closeOnCloseOf(PipeLineSession, String)
This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open until the message was consumed. Doing so avoids connections leaking from pools, while it enables efficient streaming processing of data while it is being read from a stream.- Throws:
PipeRunException
-
setFilePattern
public void setFilePattern(String string)
files that match this pattern will be deleted. parameters of the pipe are applied to this pattern. if this attribute is not set, the input of the pipe is interpreted as the file to be removed
-
getFilePattern
public String getFilePattern()
-
setFilePatternSessionKey
public void setFilePatternSessionKey(String string)
session key that contains the pattern of files to be deleted, only used if filePattern is not set
-
getFilePatternSessionKey
public String getFilePatternSessionKey()
-
setLastModifiedDelta
public void setLastModifiedDelta(long l)
time in milliseconds after last modification that must have passed at least before a file will be deleted (set to negative value to disable)- Default value
- 0
-
getLastModifiedDelta
public long getLastModifiedDelta()
-
setSubdirectories
public void setSubdirectories(boolean b)
whentrue
, files in subdirectories will be deleted, too- Default value
- false
-
isSubdirectories
public boolean isSubdirectories()
-
setDeleteEmptySubdirectories
public void setDeleteEmptySubdirectories(boolean b)
whentrue
, empty subdirectories will be deleted, too- Default value
- false
-
isDeleteEmptySubdirectories
public boolean isDeleteEmptySubdirectories()
-
setWildcard
public void setWildcard(String string)
filter of files to delete. if not set and a directory is specified, all files in the directory are interpreted to be deleted
-
getWildcard
public String getWildcard()
-
setExcludeWildcard
public void setExcludeWildcard(String excludeWildcard)
filter of files to be excluded for deletion
-
getExcludeWildcard
public String getExcludeWildcard()
-
setMinStableTime
public void setMinStableTime(long minStableTime)
Minimal age of file in milliseconds, to avoid deleting a file while it is still being written (only used when wildcard is set) (set to 0 to disable)- Default value
- 1000
-
getMinStableTime
public long getMinStableTime()
-
-