我们有一个SFTP服务器,我们在这个服务器上读取文件特定文件夹。我使用基于用户/密码的身份验证我还需要在DefaultSftpSessionFactory中提供一些其他属性。 以下是我的配置。
class SecUser {
Long id
String username
String password
boolean enabled
boolean accountExpired
boolean accountLocked
boolean passwordExpired
String sifpartnera
Long dodadresaid
String sifosobe
Long coid
String langid
static constraints = {
id(blank: false)
username blank: false, unique: true, email: true
password nullable: true
enabled()
accountExpired()
accountLocked()
passwordExpired()
sifpartnera nullable: true
dodadresaid nullable: true
sifosobe nullable: true
coid nullable: true
langid nullable: true
}
static mapping = {
version false
table name: "sec_user", schema: "public"
password column: '`password`'
id generator: 'sequence', column: 'id'
}
}
它的工作时间很好但间歇性地给出了以下错误。
<beans:bean id="sftpSessionFactory"
class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
<beans:property name="host" value="${turboFtp.host}" />
<beans:property name="allowUnknownKeys" value="true" />
<beans:property name="user" value="${turboFtp.username}" />
<beans:property name="password"
value="#{ftpdecrypter.decryptPassword()}" />
</beans:bean>
<beans:bean id="ftpdecrypter"
class="com.deere.calibrateddevices.config.FTPPasswordDecryptConfig">
</beans:bean>
<int-sftp:inbound-streaming-channel-adapter
id="sftpTurboHoneywellAdapter" channel="turboReceiveChannel"
session-factory="sftpSessionFactory" filename-regex="^.*\.(dat|DAT)$"
remote-file-separator="/" remote-directory-expression="'${turboXMLFileFtpServerLoc}'"
auto-startup="true">
<int:poller fixed-rate="${turboPollarInterval}"
max-messages-per-poll="1" />
</int-sftp:inbound-streaming-channel-adapter>
<int:channel id="sftpOutboundChannel" />
<int-sftp:outbound-gateway command="rm"
reply-channel="nullChannel" session-factory="sftpSessionFactory"
request-channel="sftpOutboundChannel" remote-file-separator="/"
expression="headers['file_remoteDirectory'] + headers['file_remoteFile']">
</int-sftp:outbound-gateway>
<integration:service-activator id="calibratedDataServiceActivator"
input-channel="turboReceiveChannel" ref="turboFtpFileProcessor"
method="processTurboCalibratedDeviceFile" />
我不确定导致此问题的原因。是否存在SFTP SpringIntegration配置问题?我是否还需要在DefaultSftpSessionFactory类中提供其他一些属性?或者SFTP服务器有什么问题吗? 任何人都可以指导我解决这个问题。
答案 0 :(得分:0)
失败的原因是用户ID在服务器上被阻止。释放阻止其工作正常。