Package org.ikasan.endpoint.ftp.consumer
Class FtpMessageProvider
- java.lang.Object
-
- org.ikasan.endpoint.ftp.consumer.FtpMessageProvider
-
- All Implemented Interfaces:
org.ikasan.component.endpoint.quartz.consumer.MessageProvider<org.ikasan.filetransfer.Payload>,org.ikasan.connector.listener.TransactionCommitFailureListener,org.ikasan.spec.configuration.Configured<FtpConsumerConfiguration>,org.ikasan.spec.management.ManagedResource
public class FtpMessageProvider extends java.lang.Object implements org.ikasan.spec.configuration.Configured<FtpConsumerConfiguration>, org.ikasan.spec.management.ManagedResource, org.ikasan.component.endpoint.quartz.consumer.MessageProvider<org.ikasan.filetransfer.Payload>, org.ikasan.connector.listener.TransactionCommitFailureListener
Default implementation on MessageProvider using JobExecutionContext as a message type.- Author:
- Ikasan Development Team
-
-
Field Summary
Fields Modifier and Type Field Description protected FileTransferConnectionTemplateactiveFileTransferConnectionTemplateCurrently active connection templateprotected FileTransferConnectionTemplatealternateFileTransferConnectionTemplateAlternate template to be used in cases of failureprotected FtpConsumerConfigurationconfigurationConfigurationprotected FileTransferConnectionTemplatefileTransferConnectionTemplateA connection template
-
Constructor Summary
Constructors Constructor Description FtpMessageProvider(org.springframework.transaction.jta.JtaTransactionManager transactionManager, org.ikasan.connector.basefiletransfer.outbound.persistence.BaseFileTransferDao baseFileTransferDao, org.ikasan.connector.util.chunking.model.dao.FileChunkDao fileChunkDao, org.ikasan.connector.base.command.TransactionalResourceCommandDAO transactionalResourceCommandDAO, FileBasedPasswordHelper fileBasedPasswordHelper)ConstructorFtpMessageProvider(org.springframework.transaction.jta.JtaTransactionManager transactionManager, org.ikasan.connector.basefiletransfer.outbound.persistence.BaseFileTransferDao baseFileTransferDao, org.ikasan.connector.util.chunking.model.dao.FileChunkDao fileChunkDao, org.ikasan.connector.base.command.TransactionalResourceCommandDAO transactionalResourceCommandDAO, FileBasedPasswordHelper fileBasedPasswordHelper, com.google.common.cache.Cache<java.lang.String,java.lang.Boolean> duplicatesFileCache)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcommitFailureOccurred(org.ikasan.connector.listener.TransactionCommitEvent event)FtpConsumerConfigurationgetConfiguration()protected FTPConnectionSpecgetConnectionSpec()Utility method to aid testing of this classprotected java.util.List<java.lang.String>getSourceDirectories()Return a list of src directories to be polled.protected voidhousekeep()Apply any configured housekeeping on this connection template.org.ikasan.filetransfer.Payloadinvoke(org.quartz.JobExecutionContext context)booleanisCriticalOnStartup()voidsetAlternateFileTransferConnectionTemplate(FileTransferConnectionTemplate alternate)voidsetConfiguration(FtpConsumerConfiguration configuration)voidsetCriticalOnStartup(boolean criticalOnStartup)voidsetDirectoryURLFactory(org.ikasan.framework.factory.DirectoryURLFactory directoryURLFactory)voidsetManagedResourceRecoveryManager(org.ikasan.spec.management.ManagedResourceRecoveryManager managedResourceRecoveryManager)voidstartManagedResource()voidstopManagedResource()protected voidswitchActiveConnection()Switch the active connection to the other connection template.
-
-
-
Field Detail
-
activeFileTransferConnectionTemplate
protected FileTransferConnectionTemplate activeFileTransferConnectionTemplate
Currently active connection template
-
fileTransferConnectionTemplate
protected FileTransferConnectionTemplate fileTransferConnectionTemplate
A connection template
-
alternateFileTransferConnectionTemplate
protected FileTransferConnectionTemplate alternateFileTransferConnectionTemplate
Alternate template to be used in cases of failure
-
configuration
protected FtpConsumerConfiguration configuration
Configuration
-
-
Constructor Detail
-
FtpMessageProvider
public FtpMessageProvider(org.springframework.transaction.jta.JtaTransactionManager transactionManager, org.ikasan.connector.basefiletransfer.outbound.persistence.BaseFileTransferDao baseFileTransferDao, org.ikasan.connector.util.chunking.model.dao.FileChunkDao fileChunkDao, org.ikasan.connector.base.command.TransactionalResourceCommandDAO transactionalResourceCommandDAO, FileBasedPasswordHelper fileBasedPasswordHelper)Constructor- Parameters:
transactionManager-baseFileTransferDao-fileChunkDao-transactionalResourceCommandDAO-fileBasedPasswordHelper-
-
FtpMessageProvider
public FtpMessageProvider(org.springframework.transaction.jta.JtaTransactionManager transactionManager, org.ikasan.connector.basefiletransfer.outbound.persistence.BaseFileTransferDao baseFileTransferDao, org.ikasan.connector.util.chunking.model.dao.FileChunkDao fileChunkDao, org.ikasan.connector.base.command.TransactionalResourceCommandDAO transactionalResourceCommandDAO, FileBasedPasswordHelper fileBasedPasswordHelper, com.google.common.cache.Cache<java.lang.String,java.lang.Boolean> duplicatesFileCache)Constructor- Parameters:
transactionManager-baseFileTransferDao-fileChunkDao-transactionalResourceCommandDAO-fileBasedPasswordHelper-duplicatesFileCache-
-
-
Method Detail
-
invoke
public org.ikasan.filetransfer.Payload invoke(org.quartz.JobExecutionContext context)
- Specified by:
invokein interfaceorg.ikasan.component.endpoint.quartz.consumer.MessageProvider<org.ikasan.filetransfer.Payload>
-
housekeep
protected void housekeep() throws javax.resource.ResourceExceptionApply any configured housekeeping on this connection template.- Throws:
javax.resource.ResourceException- - Exception if the JCA connector fails
-
getSourceDirectories
protected java.util.List<java.lang.String> getSourceDirectories()
Return a list of src directories to be polled.- Returns:
- List of src directories
-
setAlternateFileTransferConnectionTemplate
public void setAlternateFileTransferConnectionTemplate(FileTransferConnectionTemplate alternate)
- Parameters:
alternate- theFileTransferConnectionTemplatealternate to use
-
switchActiveConnection
protected void switchActiveConnection()
Switch the active connection to the other connection template.
-
startManagedResource
public void startManagedResource()
- Specified by:
startManagedResourcein interfaceorg.ikasan.spec.management.ManagedResource
-
stopManagedResource
public void stopManagedResource()
- Specified by:
stopManagedResourcein interfaceorg.ikasan.spec.management.ManagedResource
-
setManagedResourceRecoveryManager
public void setManagedResourceRecoveryManager(org.ikasan.spec.management.ManagedResourceRecoveryManager managedResourceRecoveryManager)
- Specified by:
setManagedResourceRecoveryManagerin interfaceorg.ikasan.spec.management.ManagedResource
-
isCriticalOnStartup
public boolean isCriticalOnStartup()
- Specified by:
isCriticalOnStartupin interfaceorg.ikasan.spec.management.ManagedResource
-
setCriticalOnStartup
public void setCriticalOnStartup(boolean criticalOnStartup)
- Specified by:
setCriticalOnStartupin interfaceorg.ikasan.spec.management.ManagedResource
-
getConnectionSpec
protected FTPConnectionSpec getConnectionSpec()
Utility method to aid testing of this class- Returns:
-
setDirectoryURLFactory
public void setDirectoryURLFactory(org.ikasan.framework.factory.DirectoryURLFactory directoryURLFactory)
- Parameters:
directoryURLFactory- the directoryURLFactory to set
-
getConfiguration
public FtpConsumerConfiguration getConfiguration()
- Specified by:
getConfigurationin interfaceorg.ikasan.spec.configuration.Configured<FtpConsumerConfiguration>
-
setConfiguration
public void setConfiguration(FtpConsumerConfiguration configuration)
- Specified by:
setConfigurationin interfaceorg.ikasan.spec.configuration.Configured<FtpConsumerConfiguration>
-
commitFailureOccurred
public void commitFailureOccurred(org.ikasan.connector.listener.TransactionCommitEvent event)
- Specified by:
commitFailureOccurredin interfaceorg.ikasan.connector.listener.TransactionCommitFailureListener
-
-