Java源码示例:org.springframework.integration.file.remote.session.SessionFactory
示例1
@Bean
public IntegrationFlow ftpInboundFlow(FtpSinkProperties properties, SessionFactory<FTPFile> ftpSessionFactory) {
FtpMessageHandlerSpec handlerSpec =
Ftp.outboundAdapter(new FtpRemoteFileTemplate(ftpSessionFactory), properties.getMode())
.remoteDirectory(properties.getRemoteDir())
.remoteFileSeparator(properties.getRemoteFileSeparator())
.autoCreateDirectory(properties.isAutoCreateDir())
.temporaryFileSuffix(properties.getTmpFileSuffix());
if (properties.getFilenameExpression() != null) {
handlerSpec.fileNameExpression(properties.getFilenameExpression().getExpressionString());
}
return IntegrationFlows.from(Sink.INPUT)
.handle(handlerSpec,
new Consumer<GenericEndpointSpec<FileTransferringMessageHandler<FTPFile>>>() {
@Override
public void accept(GenericEndpointSpec<FileTransferringMessageHandler<FTPFile>> e) {
e.autoStartup(false);
}
})
.get();
}
示例2
@Bean
public IntegrationFlow ftpInboundFlow(SftpSinkProperties properties, SessionFactory<LsEntry> ftpSessionFactory) {
SftpMessageHandlerSpec handlerSpec =
Sftp.outboundAdapter(new SftpRemoteFileTemplate(ftpSessionFactory), properties.getMode())
.remoteDirectory(properties.getRemoteDir())
.remoteFileSeparator(properties.getRemoteFileSeparator())
.autoCreateDirectory(properties.isAutoCreateDir())
.temporaryFileSuffix(properties.getTmpFileSuffix());
if (properties.getFilenameExpression() != null) {
handlerSpec.fileNameExpression(properties.getFilenameExpression().getExpressionString());
}
return IntegrationFlows.from(Sink.INPUT)
.handle(handlerSpec,
new Consumer<GenericEndpointSpec<FileTransferringMessageHandler<LsEntry>>>() {
@Override
public void accept(GenericEndpointSpec<FileTransferringMessageHandler<LsEntry>> e) {
e.autoStartup(false);
}
})
.get();
}
示例3
@Bean
public SessionFactory<LsEntry> sftpSessionFactory() {
DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory(true);
factory.setHost(sftpHost);
factory.setPort(sftpPort);
factory.setUser(sftpUser);
if (sftpPrivateKey != null) {
factory.setPrivateKey(sftpPrivateKey);
factory.setPrivateKeyPassphrase(sftpPrivateKeyPassphrase);
} else {
factory.setPassword(sftpPasword);
}
factory.setAllowUnknownKeys(true);
return new CachingSessionFactory<LsEntry>(factory);
}
示例4
@Bean
public SessionFactory<LsEntry> sftpSessionFactory() {
DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory(true);
factory.setHost(sftpHost);
factory.setPort(sftpPort);
factory.setUser(sftpUser);
if (sftpPrivateKey != null) {
factory.setPrivateKey(sftpPrivateKey);
factory.setPrivateKeyPassphrase(sftpPrivateKeyPassphrase);
} else {
factory.setPassword(sftpPasword);
}
factory.setAllowUnknownKeys(true);
return new CachingSessionFactory<LsEntry>(factory);
}
示例5
@Bean
public IntegrationFlow ftpInboundFlow(SessionFactory<FTPFile> ftpSessionFactory, FtpSourceProperties properties,
FileConsumerProperties fileConsumerProperties) {
FtpInboundChannelAdapterSpec messageSourceBuilder = Ftp.inboundAdapter(ftpSessionFactory)
.preserveTimestamp(properties.isPreserveTimestamp())
.remoteDirectory(properties.getRemoteDir())
.remoteFileSeparator(properties.getRemoteFileSeparator())
.localDirectory(properties.getLocalDir())
.autoCreateLocalDirectory(properties.isAutoCreateLocalDir())
.temporaryFileSuffix(properties.getTmpFileSuffix())
.deleteRemoteFiles(properties.isDeleteRemoteFiles());
if (StringUtils.hasText(properties.getFilenamePattern())) {
messageSourceBuilder.filter(new FtpSimplePatternFileListFilter(properties.getFilenamePattern()));
}
else if (properties.getFilenameRegex() != null) {
messageSourceBuilder
.filter(new FtpRegexPatternFileListFilter(properties.getFilenameRegex()));
}
IntegrationFlowBuilder flowBuilder = IntegrationFlows.from(messageSourceBuilder
, new Consumer<SourcePollingChannelAdapterSpec>() {
@Override
public void accept(SourcePollingChannelAdapterSpec sourcePollingChannelAdapterSpec) {
sourcePollingChannelAdapterSpec
.poller(FtpSourceConfiguration.this.defaultPoller);
}
});
return FileUtils.enhanceFlowForReadingMode(flowBuilder, fileConsumerProperties)
.channel(this.source.output())
.get();
}
示例6
@Bean
public IntegrationFlow sftpInboundFlow(SessionFactory<LsEntry> sftpSessionFactory, SftpSourceProperties properties,
FileConsumerProperties fileConsumerProperties) {
SftpInboundChannelAdapterSpec messageSourceBuilder = Sftp.inboundAdapter(sftpSessionFactory)
.preserveTimestamp(properties.isPreserveTimestamp())
.remoteDirectory(properties.getRemoteDir())
.remoteFileSeparator(properties.getRemoteFileSeparator())
.localDirectory(properties.getLocalDir())
.autoCreateLocalDirectory(properties.isAutoCreateLocalDir())
.temporaryFileSuffix(properties.getTmpFileSuffix())
.deleteRemoteFiles(properties.isDeleteRemoteFiles());
if (StringUtils.hasText(properties.getFilenamePattern())) {
messageSourceBuilder.filter(new SftpSimplePatternFileListFilter(properties.getFilenamePattern()));
}
else if (properties.getFilenameRegex() != null) {
messageSourceBuilder
.filter(new SftpRegexPatternFileListFilter(properties.getFilenameRegex()));
}
IntegrationFlowBuilder flowBuilder = IntegrationFlows.from(messageSourceBuilder
, new Consumer<SourcePollingChannelAdapterSpec>() {
@Override
public void accept(SourcePollingChannelAdapterSpec sourcePollingChannelAdapterSpec) {
sourcePollingChannelAdapterSpec
.poller(SftpSourceConfiguration.this.defaultPoller);
}
});
return FileUtils.enhanceFlowForReadingMode(flowBuilder, fileConsumerProperties)
.channel(this.source.output())
.get();
}
示例7
@Bean
public SessionFactory<LsEntry> sftpSessionFactory() {
@SuppressWarnings("unchecked")
SessionFactory<LsEntry> ftpSessionFactory = Mockito.mock(SessionFactory.class);
@SuppressWarnings("unchecked")
Session<LsEntry> session = mock(Session.class);
when(ftpSessionFactory.getSession()).thenReturn(session);
return ftpSessionFactory;
}
示例8
public GcsMessageHandler(SessionFactory<BlobInfo> sessionFactory) {
super(sessionFactory);
}
示例9
/**
* Construct a {@link RemoteFileTemplate} with the supplied session factory.
*
* @param sessionFactory the session factory.
*/
public GcsRemoteFileTemplate(SessionFactory<BlobInfo> sessionFactory) {
super(sessionFactory);
}