@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.LockOperatorfileFilter, fsWorkerlog| Constructor and Description |
|---|
FsConsumer()
Creates a new instance.
|
| 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 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, baseDirUrl, checkModified, consumeLocationKey, createAdaptrisMessage, filterExpression, getBaseDirectoryUrl, getCreateDirs, getDestination, getFileFilterImp, getFileSorter, getFilterExpression, getLogAllExceptions, getQuietInterval, isFileAccessible, logAllExceptions, newThreadName, prepareConsumer, processMessages, setBaseDirectoryUrl, setCreateDirs, setDestination, setFileFilterImp, setFileSorter, setFilterExpression, setLogAllExceptions, setQuietInterval, shouldCreateDirs, verifyDirectory, withBaseDirectoryUrl, withFilterExpressionclose, continueProcessingMessages, getMaxMessagesPerPoll, getPoller, getReacquireLockBetweenMessages, prepare, releaseLock, setMaxMessagesPerPoll, setPoller, setReacquireLockBetweenMessages, start, stopchangeState, registerAdaptrisMessageListener, renameThread, requestClose, requestInit, requestStart, requestStop, retrieveAdaptrisMessageListener, retrieveComponentStatecreateName, createQualifier, decode, encode, getEncoder, getIsTrackingEndpoint, getMessageFactory, getUniqueId, handleConnectionException, isTrackingEndpoint, registerConnection, registerEncoderMessageFactory, retrieveConnection, setEncoder, setIsTrackingEndpoint, setMessageFactory, setUniqueId, withMessageFactory, withUniqueIDclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdecode, encode, getEncoder, getMessageFactory, handleConnectionException, registerConnection, retrieveConnection, setEncoder, setMessageFactorygetUniqueIdcreateName, createQualifier, isTrackingEndpointpublic FsConsumer()
Creates a new instance. Defaults to NioWorker and a work in progress suffix of .wip.
protected int processFile(java.io.File originalFile)
throws CoreException
FsConsumerImplprocessFile in class FsConsumerImploriginalFile - the FileCoreException - wrapping any other Exception.protected java.io.File renameFile(java.io.File file)
throws FsException
FsExceptionpublic void init()
throws CoreException
ComponentLifecycleComponent initialisation includes config verification, creation of connections etc.
init in interface ComponentLifecycleinit in class FsConsumerImplCoreException - wrapping any underlying ExceptionsComponentLifecycle.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()