org.mule.providers.file
Class FileMessageReceiver

java.lang.Object
  extended byorg.mule.providers.AbstractMessageReceiver
      extended byorg.mule.providers.AbstractPollingMessageReceiver
          extended byorg.mule.providers.file.FileMessageReceiver
All Implemented Interfaces:
org.mule.umo.lifecycle.Disposable, org.mule.umo.lifecycle.Initialisable, org.mule.umo.lifecycle.Lifecycle, org.mule.umo.lifecycle.Startable, org.mule.umo.lifecycle.Stoppable, org.mule.umo.provider.UMOConnectable, org.mule.umo.provider.UMOMessageReceiver

public class FileMessageReceiver
extends org.mule.providers.AbstractPollingMessageReceiver

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


Field Summary
static String COMPARATOR_CLASS_NAME_PROPERTY
           
static String COMPARATOR_REVERSE_ORDER_PROPERTY
           
 
Fields inherited from class org.mule.providers.AbstractPollingMessageReceiver
DEFAULT_POLL_FREQUENCY, DEFAULT_POLL_TIMEUNIT, DEFAULT_STARTUP_DELAY, schedules
 
Fields inherited from class org.mule.providers.AbstractMessageReceiver
component, connected, connecting, connectionStrategy, connector, disposing, endpoint, logger, receiverKey, stopped
 
Fields inherited from interface org.mule.umo.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.umo.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.umo.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.umo.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
FileMessageReceiver(org.mule.umo.provider.UMOConnector connector, org.mule.umo.UMOComponent component, org.mule.umo.endpoint.UMOImmutableEndpoint 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.
protected  void doConnect()
           
protected  void doDisconnect()
           
protected  void doDispose()
           
protected  Comparator getComparator()
           
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.AbstractPollingMessageReceiver
createWork, doStart, doStop, getFrequency, getTimeUnit, schedule, setFrequency, setTimeUnit, unschedule
 
Methods inherited from class org.mule.providers.AbstractMessageReceiver
connect, disconnect, dispose, doInitialise, getComponent, getConnectEventId, getConnectionDescription, getConnector, getEndpoint, getEndpointURI, getListener, getReceiverKey, getWorkManager, handleException, handleUnacceptedFilter, initialise, isConnected, routeMessage, routeMessage, routeMessage, routeMessage, routeMessage, routeMessage, setComponent, setConnector, setEndpoint, setExceptionDetails, setListener, setReceiverKey, setWorkManager, start, stop, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

COMPARATOR_CLASS_NAME_PROPERTY

public static final String COMPARATOR_CLASS_NAME_PROPERTY
See Also:
Constant Field Values

COMPARATOR_REVERSE_ORDER_PROPERTY

public static final String COMPARATOR_REVERSE_ORDER_PROPERTY
See Also:
Constant Field Values
Constructor Detail

FileMessageReceiver

public FileMessageReceiver(org.mule.umo.provider.UMOConnector connector,
                           org.mule.umo.UMOComponent component,
                           org.mule.umo.endpoint.UMOImmutableEndpoint endpoint,
                           String readDir,
                           String moveDir,
                           String moveToPattern,
                           long frequency)
                    throws org.mule.umo.lifecycle.CreateException
Method Detail

doConnect

protected void doConnect()
                  throws Exception
Throws:
Exception

doDisconnect

protected void doDisconnect()
                     throws Exception
Throws:
Exception

doDispose

protected void doDispose()

poll

public void poll()

processFile

public void processFile(File sourceFile)
                 throws org.mule.umo.UMOException
Throws:
org.mule.umo.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


getComparator

protected Comparator getComparator()
                            throws Exception
Throws:
Exception


Copyright © 2003-2007 MuleSource, Inc.. All Rights Reserved.