org.mule.providers.file
Class FileMessageReceiver

java.lang.Object
  extended byorg.mule.providers.AbstractMessageReceiver
      extended byorg.mule.providers.PollingMessageReceiver
          extended byorg.mule.providers.file.FileMessageReceiver
All Implemented Interfaces:
Disposable, Lifecycle, Startable, Stoppable, UMOConnectable, UMOMessageReceiver

public class FileMessageReceiver
extends PollingMessageReceiver

FileMessageReceiver is a polling listener that reads files from a directory.


Field Summary
 
Fields inherited from class org.mule.providers.PollingMessageReceiver
DEFAULT_POLL_FREQUENCY, frequency, STARTUP_DELAY
 
Fields inherited from class org.mule.providers.AbstractMessageReceiver
component, connected, connectionStrategy, connector, disposing, endpoint, logger, stopped
 
Constructor Summary
FileMessageReceiver(UMOConnector connector, UMOComponent component, UMOEndpoint endpoint, String readDir, String moveDir, String moveToPattern, Long frequency)
           
 
Method Summary
protected  boolean attemptFileLock(File sourceFile)
          Try to acquire a lock on a file and release it immediately.
 void doConnect()
           
 void doDisconnect()
           
protected  boolean moveFile(File sourceFile, File destinationFile)
          Try to move a file by renaming with backup attempt by copying/deleting via NIO
 void poll()
           
 void processFile(File sourceFile)
           
protected  boolean rollbackFileMove(File sourceFile, String destinationFilePath)
          Exception tolerant roll back method
 
Methods inherited from class org.mule.providers.PollingMessageReceiver
doStart, getFrequency, release, run, setFrequency
 
Methods inherited from class org.mule.providers.AbstractMessageReceiver
applyResponseTransformer, connect, disconnect, dispose, doDispose, doStop, getComponent, getConnectEventId, getConnectionDescription, getConnector, getEndpoint, getEndpointURI, getListener, getWorkManager, handleException, handleUnacceptedFilter, isConnected, routeMessage, routeMessage, routeMessage, routeMessage, routeMessage, routeMessage, setComponent, setConnector, setEndpoint, setExceptionDetails, setListener, setWorkManager, start, stop
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileMessageReceiver

public FileMessageReceiver(UMOConnector connector,
                           UMOComponent component,
                           UMOEndpoint endpoint,
                           String readDir,
                           String moveDir,
                           String moveToPattern,
                           Long frequency)
                    throws InitialisationException
Method Detail

doConnect

public void doConnect()
               throws Exception
Specified by:
doConnect in class AbstractMessageReceiver
Throws:
Exception

doDisconnect

public void doDisconnect()
                  throws Exception
Specified by:
doDisconnect in class AbstractMessageReceiver
Throws:
Exception

poll

public void poll()
Specified by:
poll in class PollingMessageReceiver

processFile

public void processFile(File sourceFile)
                 throws UMOException
Throws:
UMOException

attemptFileLock

protected boolean attemptFileLock(File sourceFile)
Try to acquire a lock on a file and release it immediately. Usually used as a quick check to see if another process is still holding onto the file, e.g. a large file (more than 100MB) is still being written to.

Parameters:
sourceFile - file to check
Returns:
true if the file can be locked

moveFile

protected boolean moveFile(File sourceFile,
                           File destinationFile)
Try to move a file by renaming with backup attempt by copying/deleting via NIO


rollbackFileMove

protected boolean rollbackFileMove(File sourceFile,
                                   String destinationFilePath)
Exception tolerant roll back method



Copyright © 2003-2006 MuleSource Inc.. All Rights Reserved.