Class SftpOutboundGateway
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
org.springframework.integration.sftp.outbound.SftpOutboundGateway
- All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>,Aware,BeanClassLoaderAware,BeanFactoryAware,BeanNameAware,DisposableBean,InitializingBean,ApplicationContextAware,Ordered,ComponentSourceAware,ExpressionCapable,Orderable,MessageProducer,HeaderPropagationAware,IntegrationPattern,NamedComponent,IntegrationManagement,TrackableComponent,MessageHandler,reactor.core.CoreSubscriber<Message<?>>
- Direct Known Subclasses:
SftpOutboundGateway
public class SftpOutboundGateway
extends AbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
Outbound Gateway for performing remote file operations via SFTP.
- Since:
- 2.1
- Author:
- Gary Russell, Artem Bilan
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway
AbstractRemoteFileOutboundGateway.Command, AbstractRemoteFileOutboundGateway.OptionNested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler.RequestHandlerNested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides -
Field Summary
Fields inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
messagingTemplateFields inherited from class org.springframework.integration.context.IntegrationObjectSupport
EXPRESSION_PARSER, loggerFields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAMEFields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionSftpOutboundGateway(RemoteFileTemplate<org.apache.sshd.sftp.client.SftpClient.DirEntry> remoteFileTemplate, String command, @Nullable String expression) Construct an instance with the supplied remote file template, a command ('ls', 'get' etc.), and an expression to determine the remote path.SftpOutboundGateway(RemoteFileTemplate<org.apache.sshd.sftp.client.SftpClient.DirEntry> remoteFileTemplate, MessageSessionCallback<org.apache.sshd.sftp.client.SftpClient.DirEntry, ?> messageSessionCallback) Construct an instance with the supplied remote file template and callback for performing operations on the session.SftpOutboundGateway(SessionFactory<org.apache.sshd.sftp.client.SftpClient.DirEntry> sessionFactory, String command, @Nullable String expression) Construct an instance with the supplied session factory, a command ('ls', 'get' etc.), and an expression to determine the remote path.SftpOutboundGateway(SessionFactory<org.apache.sshd.sftp.client.SftpClient.DirEntry> sessionFactory, MessageSessionCallback<org.apache.sshd.sftp.client.SftpClient.DirEntry, ?> messageSessionCallback) Construct an instance using the provided session factory and callback for performing operations on the session. -
Method Summary
Modifier and TypeMethodDescriptionprotected List<AbstractFileInfo<org.apache.sshd.sftp.client.SftpClient.DirEntry>> asFileInfoList(Collection<org.apache.sshd.sftp.client.SftpClient.DirEntry> files) protected voiddoChmod(RemoteFileOperations<org.apache.sshd.sftp.client.SftpClient.DirEntry> remoteFileOperations, String path, int chmod) Set the mode on the remote file after transfer; the default implementation does nothing.protected org.apache.sshd.sftp.client.SftpClient.DirEntryenhanceNameWithSubDirectory(org.apache.sshd.sftp.client.SftpClient.DirEntry file, String directory) protected StringgetFilename(org.apache.sshd.sftp.client.SftpClient.DirEntry file) protected StringgetFilename(AbstractFileInfo<org.apache.sshd.sftp.client.SftpClient.DirEntry> file) protected longgetModified(org.apache.sshd.sftp.client.SftpClient.DirEntry file) booleanprotected booleanisDirectory(org.apache.sshd.sftp.client.SftpClient.DirEntry file) protected booleanisLink(org.apache.sshd.sftp.client.SftpClient.DirEntry file) Methods inherited from class org.springframework.integration.file.remote.gateway.AbstractRemoteFileOutboundGateway
assertRemoteFileTemplateMutability, doInit, filterFile, filterFiles, filterMputFiles, get, getFullFileName, getRemoteFilename, getRemoteFileTemplate, handleRequestMessage, ls, mGet, mPut, mv, nlst, purgeDots, purgeLinks, put, remoteFileTemplateExplicitlySet, rm, setAutoCreateDirectory, setAutoCreateLocalDirectory, setCharset, setChmod, setChmodOctal, setFileExistsMode, setFileExistsModeExpression, setFileExistsModeExpressionString, setFileNameExpression, setFileNameGenerator, setFilter, setLocalDirectory, setLocalDirectoryExpression, setLocalDirectoryExpressionString, setLocalFilenameGeneratorExpression, setLocalFilenameGeneratorExpressionString, setMputFilter, setOption, setOptions, setRemoteDirectoryExpression, setRemoteFileSeparator, setRenameExpression, setRenameExpressionString, setTemporaryFileSuffix, setTemporaryRemoteDirectoryExpression, setUseTemporaryFileNameMethods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
doInvokeAdvisedRequestHandler, getBeanClassLoader, getIntegrationPatternType, getRequiresReply, handleMessageInternal, hasAdviceChain, onInit, setAdviceChain, setBeanClassLoader, setRequiresReplyMethods inherited from class org.springframework.integration.handler.AbstractMessageProducingHandler
addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setSendTimeout, setupMessageProcessor, shouldCopyRequestHeaders, shouldSplitOutput, updateNotPropagatedHeadersMethods inherited from class org.springframework.integration.handler.AbstractMessageHandler
handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConventionMethods inherited from class org.springframework.integration.handler.MessageHandlerSupport
buildSendTimer, destroy, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrackMethods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface reactor.core.CoreSubscriber
currentContextMethods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAsMethods inherited from interface org.springframework.integration.support.context.NamedComponent
getBeanName, getComponentName
-
Constructor Details
-
SftpOutboundGateway
public SftpOutboundGateway(SessionFactory<org.apache.sshd.sftp.client.SftpClient.DirEntry> sessionFactory, MessageSessionCallback<org.apache.sshd.sftp.client.SftpClient.DirEntry, ?> messageSessionCallback) Construct an instance using the provided session factory and callback for performing operations on the session.- Parameters:
sessionFactory- the session factory.messageSessionCallback- the callback.
-
SftpOutboundGateway
public SftpOutboundGateway(RemoteFileTemplate<org.apache.sshd.sftp.client.SftpClient.DirEntry> remoteFileTemplate, MessageSessionCallback<org.apache.sshd.sftp.client.SftpClient.DirEntry, ?> messageSessionCallback) Construct an instance with the supplied remote file template and callback for performing operations on the session.- Parameters:
remoteFileTemplate- the remote file template.messageSessionCallback- the callback.
-
SftpOutboundGateway
public SftpOutboundGateway(SessionFactory<org.apache.sshd.sftp.client.SftpClient.DirEntry> sessionFactory, String command, @Nullable String expression) Construct an instance with the supplied session factory, a command ('ls', 'get' etc.), and an expression to determine the remote path.- Parameters:
sessionFactory- the session factory.command- the command.expression- the remote path expression.
-
SftpOutboundGateway
public SftpOutboundGateway(RemoteFileTemplate<org.apache.sshd.sftp.client.SftpClient.DirEntry> remoteFileTemplate, String command, @Nullable String expression) Construct an instance with the supplied remote file template, a command ('ls', 'get' etc.), and an expression to determine the remote path.- Parameters:
remoteFileTemplate- the remote file template.command- the command.expression- the remote path expression.
-
-
Method Details
-
isDirectory
protected boolean isDirectory(org.apache.sshd.sftp.client.SftpClient.DirEntry file) - Specified by:
isDirectoryin classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
-
isLink
protected boolean isLink(org.apache.sshd.sftp.client.SftpClient.DirEntry file) - Specified by:
isLinkin classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
-
getFilename
- Specified by:
getFilenamein classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
-
getFilename
protected String getFilename(AbstractFileInfo<org.apache.sshd.sftp.client.SftpClient.DirEntry> file) - Specified by:
getFilenamein classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
-
asFileInfoList
protected List<AbstractFileInfo<org.apache.sshd.sftp.client.SftpClient.DirEntry>> asFileInfoList(Collection<org.apache.sshd.sftp.client.SftpClient.DirEntry> files) - Specified by:
asFileInfoListin classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
-
getModified
protected long getModified(org.apache.sshd.sftp.client.SftpClient.DirEntry file) - Specified by:
getModifiedin classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
-
enhanceNameWithSubDirectory
protected org.apache.sshd.sftp.client.SftpClient.DirEntry enhanceNameWithSubDirectory(org.apache.sshd.sftp.client.SftpClient.DirEntry file, String directory) - Specified by:
enhanceNameWithSubDirectoryin classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
-
getComponentType
- Specified by:
getComponentTypein interfaceNamedComponent- Overrides:
getComponentTypein classMessageHandlerSupport
-
isChmodCapable
public boolean isChmodCapable()- Overrides:
isChmodCapablein classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>
-
doChmod
protected void doChmod(RemoteFileOperations<org.apache.sshd.sftp.client.SftpClient.DirEntry> remoteFileOperations, String path, int chmod) Description copied from class:AbstractRemoteFileOutboundGatewaySet the mode on the remote file after transfer; the default implementation does nothing.- Overrides:
doChmodin classAbstractRemoteFileOutboundGateway<org.apache.sshd.sftp.client.SftpClient.DirEntry>- Parameters:
remoteFileOperations- the remote file template.path- the path.chmod- the chmod to set.
-