@ComponentProfile(summary="Pickup messages from the filesystem", tag="consumer,fs,filesystem", metadata={"originalname","fsFileSize","lastmodified","fsConsumeDir","_interlokMessageConsumedFrom","fsParentDir"}, recommended=NullConnection.class) public class FsConsumer extends FsConsumerImpl
File system implementation of AdaptrisMessageConsumer
based on the com.adaptris.fs
package.
The configured Destination
may return a string in one of two formats
file
based url is used. e.g. file:///c:/path/to/my/directory or file:////path/to/my/directory then the
patch is considered to be fully qualifiedOn windows based platforms, you should always use a file based url.
Once A file has been consumed from the file-system a standard set of metadata is added to the resulting message;
Metadata Key | Description |
---|---|
originalname | Metadata key for storing the original name (generally file name) of a message. |
lastmodified | Metadata key for storing the last modified date of the consumed file. |
fsFileSize | Metadata key for storing the size of the message. |
fsConsumeDir | Metadata key for storing the directory where a file was consumed from. |
fsParentDir | Metadata key for storing the name of the immediate parent directory that a file was consumed from. |
In the adapter configuration file this class is aliased as fs-consumer which is the preferred alternative to the fully qualified classname when building your configuration.
AdaptrisPollingConsumer.LockOperator
fileFilter, fsWorker
log
CONFIRMATION_ID_KEY
Constructor and Description |
---|
FsConsumer()
Creates a new instance.
|
FsConsumer(ConsumeDestination d) |
Modifier and Type | Method and Description |
---|---|
java.lang.Boolean |
getResetWipFiles() |
java.lang.String |
getWipSuffix()
Returns the work-in-progress suffix being used.
|
void |
init()
Initialises the component.
|
protected void |
prepareConsumer() |
protected int |
processFile(java.io.File originalFile)
Attempt to process this file which might be a directory.
|
protected java.io.File |
renameFile(java.io.File file) |
protected boolean |
resetWipFiles() |
void |
setResetWipFiles(java.lang.Boolean b)
Specify whether to rename files that are deemed to be in progress back to their original extension upon initialisation.
|
void |
setWipSuffix(java.lang.String s)
Sets the work-in-progress suffix to use.
|
addStandardMetadata, checkModified, consumeLocationKey, createAdaptrisMessage, getCreateDirs, getFileFilterImp, getFileSorter, getLogAllExceptions, getQuietInterval, isFileAccessible, logAllExceptions, processMessages, setCreateDirs, setFileFilterImp, setFileSorter, setLogAllExceptions, setQuietInterval, shouldCreateDirs, verifyDirectory
close, continueProcessingMessages, getMaxMessagesPerPoll, getPoller, getReacquireLockBetweenMessages, prepare, releaseLock, setMaxMessagesPerPoll, setPoller, setReacquireLockBetweenMessages, start, stop
changeState, getDestination, registerAdaptrisMessageListener, renameThread, requestClose, requestInit, requestStart, requestStop, retrieveAdaptrisMessageListener, retrieveComponentState, setDestination
createName, createQualifier, decode, encode, getEncoder, getIsTrackingEndpoint, getMessageFactory, getUniqueId, handleConnectionException, isTrackingEndpoint, registerConnection, registerEncoderMessageFactory, retrieveConnection, setEncoder, setIsTrackingEndpoint, setMessageFactory, setUniqueId, withMessageFactory
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
decode, encode, getEncoder, getMessageFactory, handleConnectionException, registerConnection, retrieveConnection, setEncoder, setMessageFactory
getUniqueId
createName, createQualifier, isTrackingEndpoint
public FsConsumer()
Creates a new instance. Defaults to NioWorker
and a work in progress suffix of .wip
.
public FsConsumer(ConsumeDestination d)
protected int processFile(java.io.File originalFile) throws CoreException
FsConsumerImpl
processFile
in class FsConsumerImpl
originalFile
- the FileCoreException
- wrapping any other Exception.protected java.io.File renameFile(java.io.File file) throws FsException
FsException
public void init() throws CoreException
ComponentLifecycle
Component initialisation includes config verification, creation of connections etc.
init
in interface ComponentLifecycle
init
in class FsConsumerImpl
CoreException
- wrapping any underlying Exception
sComponentLifecycle.init()
public void setWipSuffix(java.lang.String s)
Sets the work-in-progress suffix to use. May not be null or empty. This suffix is added to the original file name while the file is being processed.
s
- the work-in-progress suffix to usepublic java.lang.String getWipSuffix()
Returns the work-in-progress suffix being used.
public java.lang.Boolean getResetWipFiles()
public void setResetWipFiles(java.lang.Boolean b)
Note that if the workfile has been created with the current time in ms (due to file-conflicts upon a previous execution), then setting this to true will result in the current time in ms still being present and may not result in the re-processing of the files.
b
- the renameWorkFilesUponInitialisation to setprotected boolean resetWipFiles()
protected void prepareConsumer() throws CoreException
prepareConsumer
in class AdaptrisPollingConsumer
CoreException