org.mule.transport.ftp
Class FtpMessageReceiver

java.lang.Object
  extended by org.mule.transport.AbstractTransportMessageHandler
      extended by org.mule.transport.AbstractMessageReceiver
          extended by org.mule.transport.AbstractPollingMessageReceiver
              extended by org.mule.transport.ftp.FtpMessageReceiver
All Implemented Interfaces:
Disposable, Initialisable, Lifecycle, LifecycleStateEnabled, Startable, Stoppable, MessageSource, Connectable, MessageReceiver

public class FtpMessageReceiver
extends AbstractPollingMessageReceiver


Field Summary
protected  FtpConnector connector
           
protected  Set<String> currentFiles
           
protected  FilenameFilter filenameFilter
           
protected  Set<String> scheduledFiles
           
 
Fields inherited from class org.mule.transport.AbstractPollingMessageReceiver
DEFAULT_POLL_FREQUENCY, DEFAULT_POLL_TIMEUNIT, DEFAULT_STARTUP_DELAY, schedules
 
Fields inherited from class org.mule.transport.AbstractMessageReceiver
defaultInboundTransformers, defaultResponseTransformers, flowConstruct, listener, receiverKey, replyToHandler
 
Fields inherited from class org.mule.transport.AbstractTransportMessageHandler
connected, endpoint, lifecycleManager, logger, muleMessageFactory, retryTemplate
 
Fields inherited from interface org.mule.api.lifecycle.Initialisable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Startable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Stoppable
PHASE_NAME
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
FtpMessageReceiver(Connector connector, FlowConstruct flowConstruct, InboundEndpoint endpoint, long frequency)
           
 
Method Summary
protected  FtpMuleMessageFactory createMuleMessageFactory(org.apache.commons.net.ftp.FTPClient client)
           
protected  void doConnect()
           
protected  void doDisconnect()
           
protected  void doDispose()
           
protected  void initializeMessageFactory()
          Subclasses can override this method to create a custom MuleMessageFactory instead of re-using the instance from the connector.
protected  org.apache.commons.net.ftp.FTPFile[] listFiles()
           
 void poll()
           
protected  boolean pollOnPrimaryInstanceOnly()
          If this returns true for a transport, polling for that transport takes place only on the primary instance.
protected  void postProcess(org.apache.commons.net.ftp.FTPClient client, org.apache.commons.net.ftp.FTPFile file, MuleMessage message)
           
 RetryContext validateConnection(RetryContext retryContext)
          Test whether the connector is able to connect to its resource(s).
 
Methods inherited from class org.mule.transport.AbstractPollingMessageReceiver
createWork, disableNativeScheduling, doStart, doStop, getBatchSize, getFrequency, getTimeUnit, performPoll, schedule, setFrequency, setTimeUnit, unschedule
 
Methods inherited from class org.mule.transport.AbstractMessageReceiver
applyInboundTransformers, applyResponseTransformers, createExecutionTemplate, createLifecycleManager, createMuleEvent, getConnectEventId, getConnectionDescription, getEndpoint, getEndpointURI, getFlowConstruct, getReceiverKey, getReplyToHandler, getWorkManager, handleUnacceptedFilter, initialise, propagateRootMessageIdProperty, routeMessage, routeMessage, routeMessage, routeMessage, routeMessage, setEndpoint, setListener, setReceiverKey, toString, warnIfMuleClientSendUsed
 
Methods inherited from class org.mule.transport.AbstractTransportMessageHandler
activate, connect, createMuleMessage, createMuleMessage, createMuleMessage, createMuleMessageFactory, createNullMuleMessage, disconnect, dispose, disposeAndLogException, doInitialise, getConnectEventId, getConnector, getLifecycleState, initializeRetryPolicy, isConnected, isDoThreading, isStarted, isStarting, isStopping, passivate, setEndpoint, start, stop, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.mule.api.transport.MessageReceiver
createMuleMessage, createMuleMessage
 
Methods inherited from interface org.mule.api.transport.Connectable
connect, disconnect, isConnected
 
Methods inherited from interface org.mule.api.lifecycle.Startable
start
 
Methods inherited from interface org.mule.api.lifecycle.Stoppable
stop
 
Methods inherited from interface org.mule.api.lifecycle.Disposable
dispose
 

Field Detail

connector

protected final FtpConnector connector

filenameFilter

protected final FilenameFilter filenameFilter

scheduledFiles

protected final Set<String> scheduledFiles

currentFiles

protected final Set<String> currentFiles
Constructor Detail

FtpMessageReceiver

public FtpMessageReceiver(Connector connector,
                          FlowConstruct flowConstruct,
                          InboundEndpoint endpoint,
                          long frequency)
                   throws CreateException
Throws:
CreateException
Method Detail

poll

public void poll()
          throws Exception
Specified by:
poll in class AbstractPollingMessageReceiver
Throws:
Exception

pollOnPrimaryInstanceOnly

protected boolean pollOnPrimaryInstanceOnly()
Description copied from class: AbstractPollingMessageReceiver
If this returns true for a transport, polling for that transport takes place only on the primary instance.

Overrides:
pollOnPrimaryInstanceOnly in class AbstractPollingMessageReceiver

listFiles

protected org.apache.commons.net.ftp.FTPFile[] listFiles()
                                                  throws Exception
Throws:
Exception

initializeMessageFactory

protected void initializeMessageFactory()
                                 throws InitialisationException
Description copied from class: AbstractTransportMessageHandler
Subclasses can override this method to create a custom MuleMessageFactory instead of re-using the instance from the connector.

Overrides:
initializeMessageFactory in class AbstractTransportMessageHandler
Throws:
InitialisationException

createMuleMessageFactory

protected FtpMuleMessageFactory createMuleMessageFactory(org.apache.commons.net.ftp.FTPClient client)
                                                  throws CreateException
Throws:
CreateException

postProcess

protected void postProcess(org.apache.commons.net.ftp.FTPClient client,
                           org.apache.commons.net.ftp.FTPFile file,
                           MuleMessage message)
                    throws Exception
Throws:
Exception

doConnect

protected void doConnect()
                  throws Exception
Overrides:
doConnect in class AbstractTransportMessageHandler
Throws:
Exception

validateConnection

public RetryContext validateConnection(RetryContext retryContext)
Description copied from interface: Connectable
Test whether the connector is able to connect to its resource(s). This will allow a retry policy to go into effect in the case of failure. Implementations must call either: Callers should then check for RetryContext.isOk(). The failure, if any, will be provided via the RetryContext.getLastFailure().

Specified by:
validateConnection in interface Connectable
Overrides:
validateConnection in class AbstractTransportMessageHandler
Returns:
same retry context with status info set and any failures populated

doDisconnect

protected void doDisconnect()
                     throws Exception
Overrides:
doDisconnect in class AbstractTransportMessageHandler
Throws:
Exception

doDispose

protected void doDispose()
Overrides:
doDispose in class AbstractMessageReceiver


Copyright © 2003-2012 MuleSoft, Inc.. All Rights Reserved.