- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我遇到这个问题,第一次处理此代码时,它运行良好,但第二次(第一次和第二次运行基于设置的 cron),它在失败文件夹中查找文件,然后删除成功文件夹并将其复制到失败文件夹中。我不知道为什么会发生这种情况?
<int-sftp:inbound-channel-adapter
id="sftpInboundAdapter"
session-factory="sftpSessionFactory"
remote-directory="${remote}"
local-directory="${local.download.folder}"
delete-remote-files="false"
channel="InboundChannel"
filter="CompositeIncomingFilesFilter"
auto-startup="true">
<int:poller cron="*/60 * * * * ?" error-channel="PollerErrorChannel">
<int:transactional transaction-manager="transactionManager" synchronization-factory="syncFactory" />
</int:poller>
</int-sftp:inbound-channel-adapter>
<bean id="transactionManager" class="org.springframework.integration.transaction.PseudoTransactionManager" />
<int:transaction-synchronization-factory id="syncFactory" >
<int:after-commit expression="payload.renameTo(new java.io.File('${local.download.folder}' + 'success/' + payload.name))" channel="afterCommitSuccessChannel" />
<int:after-rollback expression="payload.renameTo(new java.io.File('${local.download.folder}' + 'failed/' + payload.name))" channel="afterRollbackFailedChannel" />
</int:transaction-synchronization-factory>
<int:channel id="afterCommitSuccessChannel" />
<int:channel id="afterRollbackFailedChannel" />
<int:logging-channel-adapter id="afterCommitSuccessChannel" expression="'File saved and processed: ' + payload" level="INFO" />
<int:logging-channel-adapter id="afterRollbackFailedChannel" expression="'File was rollbacked: ' + payload" level="INFO" />
<bean id="CompositeIncomingFilesFilter" class="org.springframework.integration.file.filters.CompositeFileListFilter">
<constructor-arg>
<list>
<bean id="SftpFilterAlreadyDownloadedFiles" class="org.springframework.integration.sftp.filters.SftpPersistentAcceptOnceFileListFilter">
<constructor-arg index="0" ref="persistingMetadataStore" />
<constructor-arg index="1" value="prefix_" />
<property name = "flushOnUpdate" value = "true"/>
</bean>
<bean id="SftpFilterSimple" class="org.springframework.integration.sftp.filters.SftpSimplePatternFileListFilter">
<constructor-arg index="0" value="*123*.txt" />
</bean>
</list>
</constructor-arg>
</bean>
我的日志显示以下内容:
2018-10-23 11:29:04.597 INFO 12244 --- [ask-scheduler-2] o.s.integration.handler.LoggingHandler : File saved and processed: true
File saved and processed: true
2018-10-23 11:30:00.002 INFO 12244 --- [ask-scheduler-4] o.s.i.file.FileReadingMessageSource : Created message: [GenericMessage [payload=\local\failed, headers={id=6afc5dfb-5dd4-b234-5c35-a60a42931524, timestamp=1540287000002}]]
Created message: [GenericMessage [payload=\local\failed, headers={id=6afc5dfb-5dd4-b234-5c35-a60a42931524, timestamp=1540287000002}]]
2018-10-23 11:30:00.023 ERROR 12244 --- [ask-scheduler-4] i.a.ErrorMessageLoggerActivator : Message containing error inside channel: GenericMessage [payload=\local\failed, headers={id=6afc5dfb-5dd4-b234-5c35-a60a42931524, timestamp=1540287000002}]
Message containing error inside channel: GenericMessage [payload=\local\failed, headers={id=6afc5dfb-5dd4-b234-5c35-a60a42931524, timestamp=1540287000002}]
2018-10-23 11:30:00.023 ERROR 12244 --- [ask-scheduler-4] i.a.ErrorMessageLoggerActivator : ErrorMessageLoggerActivator exception:
ErrorMessageLoggerActivator exception:
2018-10-23 11:30:17.180 WARN 12244 --- [ask-scheduler-4] sftpInboundLogger : \local\failed
\local\failed
2018-10-23 11:30:17.192 INFO 12244 --- [ask-scheduler-4] o.s.integration.handler.LoggingHandler : File was rollbacked: false
File was rollbacked: false
2018-10-23 11:30:17.193 ERROR 12244 --- [ask-scheduler-4] i.e.InboundStreamErrorHandler : java.io.FileNotFoundException: \local\failed (Access is denied)
java.io.FileNotFoundException: \local\failed (Access is denied)
2018-10-23 11:31:00.001 INFO 12244 --- [ask-scheduler-5] o.s.i.file.FileReadingMessageSource : Created message: [GenericMessage [payload=\local\success, headers={id=4e12f55a-2b2a-ca79-fad3-1325b7b698fa, timestamp=1540287060001}]]
Created message: [GenericMessage [payload=\local\success, headers={id=4e12f55a-2b2a-ca79-fad3-1325b7b698fa, timestamp=1540287060001}]]
2018-10-23 11:31:00.022 WARN 12244 --- [ask-scheduler-5] sftpInboundLogger : \local\success
\local\success
2018-10-23 11:31:00.032 INFO 12244 --- [ask-scheduler-5] o.s.integration.handler.LoggingHandler : File was rollbacked: true
File was rollbacked: true
2018-10-23 11:31:00.034 ERROR 12244 --- [ask-scheduler-5] i.a.ErrorMessageLoggerActivator : Message containing error inside channel: ErrorMessage [payload=org.springframework.integration.transformer.MessageTransformationException: Failed to transform Message; nested exception is org.springframework.messaging.MessagingException: failed to transform File Message; nested exception is java.io.FileNotFoundException: \local\success (Access is denied), failedMessage=GenericMessage [payload=\local\success, headers={id=4e12f55a-2b2a-ca79-fad3-1325b7b698fa, timestamp=1540287060001}], failedMessage=GenericMessage [payload=\local\success, headers={id=4e12f55a-2b2a-ca79-fad3-1325b7b698fa, timestamp=1540287060001}], headers={id=9ac1bff3-2296-6166-115e-1e6fbc2ed304, timestamp=1540287060033}]
Message containing error inside channel: ErrorMessage [payload=org.springframework.integration.transformer.MessageTransformationException: Failed to transform Message; nested exception is org.springframework.messaging.MessagingException: failed to transform File Message; nested exception is java.io.FileNotFoundException: \local\success (Access is denied), failedMessage=GenericMessage [payload=\local\success, headers={id=4e12f55a-2b2a-ca79-fad3-1325b7b698fa, timestamp=1540287060001}], failedMessage=GenericMessage [payload=\local\success, headers={id=4e12f55a-2b2a-ca79-fad3-1325b7b698fa, timestamp=1540287060001}], headers={id=9ac1bff3-2296-6166-115e-1e6fbc2ed304, timestamp=1540287060033}]
2018-10-23 11:31:00.043 ERROR 12244 --- [ask-scheduler-5] i.a.ErrorMessageLoggerActivator : ErrorMessageLoggerActivator exception:
org.springframework.integration.transformer.MessageTransformationException: Failed to transform Message; nested exception is org.springframework.messaging.MessagingException: failed to transform File Message; nested exception is java.io.FileNotFoundException: \local\success (Access is denied), failedMessage=GenericMessage [payload=\local\success, headers={id=4e12f55a-2b2a-ca79-fad3-1325b7b698fa, timestamp=1540287060001}]
at org.springframework.integration.transformer.MessageTransformingHandler.handleRequestMessage(MessageTransformingHandler.java:95)
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:109)
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:127)
at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:148)
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:121)
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:89)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:425)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:375)
at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:115)
at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:45)
at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:105)
at org.springframework.integration.endpoint.SourcePollingChannelAdapter.handleMessage(SourcePollingChannelAdapter.java:210)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.doPoll(AbstractPollingEndpoint.java:272)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.access$000(AbstractPollingEndpoint.java:58)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:190)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy130.call(Unknown Source)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller$1.run(AbstractPollingEndpoint.java:353)
at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:55)
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
at org.springframework.integration.util.ErrorHandlingTaskExecutor.execute(ErrorHandlingTaskExecutor.java:51)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.run(AbstractPollingEndpoint.java:344)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.messaging.MessagingException: failed to transform File Message; nested exception is java.io.FileNotFoundException: \local\success (Access is denied)
at org.springframework.integration.file.transformer.AbstractFilePayloadTransformer.transform(AbstractFilePayloadTransformer.java:101)
at org.springframework.integration.transformer.MessageTransformingHandler.handleRequestMessage(MessageTransformingHandler.java:89)
... 43 common frames omitted
Caused by: java.io.FileNotFoundException: \local\success (Access is denied)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at org.springframework.util.FileCopyUtils.copyToByteArray(FileCopyUtils.java:92)
at org.springframework.integration.file.transformer.FileToByteArrayTransformer.transformFile(FileToByteArrayTransformer.java:32)
at org.springframework.integration.file.transformer.FileToByteArrayTransformer.transformFile(FileToByteArrayTransformer.java:28)
at org.springframework.integration.file.transformer.AbstractFilePayloadTransformer.transform(AbstractFilePayloadTransformer.java:87)
... 44 common frames omitted
ErrorMessageLoggerActivator exception:
org.springframework.integration.transformer.MessageTransformationException: Failed to transform Message; nested exception is org.springframework.messaging.MessagingException: failed to transform File Message; nested exception is java.io.FileNotFoundException: \local\success (Access is denied), failedMessage=GenericMessage [payload=\local\success, headers={id=4e12f55a-2b2a-ca79-fad3-1325b7b698fa, timestamp=1540287060001}]
at org.springframework.integration.transformer.MessageTransformingHandler.handleRequestMessage(MessageTransformingHandler.java:95)
at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:109)
at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:127)
at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:148)
at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:121)
at org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:89)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:425)
at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:375)
at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:115)
at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:45)
at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:105)
at org.springframework.integration.endpoint.SourcePollingChannelAdapter.handleMessage(SourcePollingChannelAdapter.java:210)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.doPoll(AbstractPollingEndpoint.java:272)
at org.springframework.integration.endpoint.AbstractPollingEndpoint.access$000(AbstractPollingEndpoint.java:58)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:190)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$1.call(AbstractPollingEndpoint.java:186)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy130.call(Unknown Source)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller$1.run(AbstractPollingEndpoint.java:353)
at org.springframework.integration.util.ErrorHandlingTaskExecutor$1.run(ErrorHandlingTaskExecutor.java:55)
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:50)
at org.springframework.integration.util.ErrorHandlingTaskExecutor.execute(ErrorHandlingTaskExecutor.java:51)
at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.run(AbstractPollingEndpoint.java:344)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.messaging.MessagingException: failed to transform File Message; nested exception is java.io.FileNotFoundException: \local\success (Access is denied)
at org.springframework.integration.file.transformer.AbstractFilePayloadTransformer.transform(AbstractFilePayloadTransformer.java:101)
at org.springframework.integration.transformer.MessageTransformingHandler.handleRequestMessage(MessageTransformingHandler.java:89)
... 43 common frames omitted
Caused by: java.io.FileNotFoundException: \local\success (Access is denied)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at org.springframework.util.FileCopyUtils.copyToByteArray(FileCopyUtils.java:92)
at org.springframework.integration.file.transformer.FileToByteArrayTransformer.transformFile(FileToByteArrayTransformer.java:32)
at org.springframework.integration.file.transformer.FileToByteArrayTransformer.transformFile(FileToByteArrayTransformer.java:28)
at org.springframework.integration.file.transformer.AbstractFilePayloadTransformer.transform(AbstractFilePayloadTransformer.java:87)
... 44 common frames omitted
最佳答案
and then it moves the folder with the file under failure
好的。因此,当您将 /success
目录重命名为其他目录时,它就会消失,当然,您无法再向 /success
写入内容。您必须在建议中创建它才能将文件写入其中。如果您无法控制在写入文件之前创建的 /success
目录,则需要考虑单独重命名每个文件。
关于java - 同步工厂删除 sftp :inbound-channel-adapter 的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52893345/
我一直在试图找出一种计算以下内容的方法: 带宽、延迟、当前上传和下载速度 . 并且对我为 INBOUND-RTP、OUTBOUND-RTP 和 REMOTE-INBOUND-RTP 获得的值感到困惑。
我相信我可能不太了解 Twilio 调用的流程。我有两种情况 - 一种情况是我从浏览器调用电话(传出),第二种情况是我从手机调用电话到浏览器(客户端)(传入)。 对于这两个调用,当请求到达我的 Twi
Creative World Quartz Scheduler.
目前我有一个简单的 war ,其中包含一些 Spring 集成配置,并且使用以下代码将该 war 部署到 jetty 容器中: protected void createWac(File file,
我有一个带有 spring 集成的以下设置。 我在网关上收到 2 种不同类型的 POST 请求,它们都被传递到 service-activator 进行处理。在一种类型的 POST 请求中,我
我正在使用 Spring Integration 将 xml 文件从 SFTP 传输到本地。我使用了Spring社区提供的代码。 主类文件 public class SFTPMain { publ
我有一个从标准数据库查询开始的集成,它会更新数据库中的状态以表明集成工作正常。有用。 但是如果无法处理数据并引发异常,则状态不会按预期更新,但我想用“KO”状态更新我的数据库行,这样同一行就不会一遍又
我正在编写一个 C++ 应用程序来管理嵌入式设备的蓝牙连接。我在 Linux 下通过 D-Bus 与 BlueZ5 对话。 作为实现入站配对的第一步,我执行了以下操作: 通过AgentManager1
我们有以下基于 int-jpa 的简单工作流: [入站 channel 适配器] -> [服务激活器] 配置是这样的:
使用 GRPC 传输大量数据的最佳实践是什么?我正在向 GRPC 服务器发送请求,该服务器将流回数据。发回的数据可以是大约 100 个 protobuf 消息,也可以是几个 100.000 个 pro
下面是我的 Spring Integration 配置的一部分: 如您所见,我想定义 2 个不同的过滤器: 在 recursiveScanner 中跳过临时文
我尝试使用多个 jpa:inbound-channel-adapter。但是我有一个问题。当我添加两个入站 channel 适配器时,只有最后一个起作用。例如,有两个入站 channel ,我们现在将
我遇到这个问题,第一次处理此代码时,它运行良好,但第二次(第一次和第二次运行基于设置的 cron),它在失败文件夹中查找文件,然后删除成功文件夹并将其复制到失败文件夹中。我不知道为什么会发生这种情况?
我正在使用 URL fetch service 将请求从一个模块发送到同一应用中的另一个模块,它表示如果将 follow_redirects 参数设置为 False,则 X-Appengine-Inb
我正在用 MySQL 编写一个简单的 JDBC 代码。一切正常,我可以通过 select 语句打印表中的记录。但是当我使用 Connection.close() 关闭连接时,出现以下异常。感谢您的帮助
我目前正在使用 Spring Integration 4.1.0 和 Spring 4.1.2。我需要能够逐行读取文件并将读取的每一行用作消息。基本上我想允许“重播”我们的消息源之一,但消息不会保存在
Spring 集成 tcp 网关可以设置如下: 注意设置为 10 秒的回复超时。 是不是意味着TCP服务器会调用服务,最多可以等待10秒?如果服务在 10 秒内没有回复,TCP 服务器
我是 Spring Integration 的新手,我正在尝试设置一个简单的用例: 轮询远程 REST 端点,将返回的有效负载拆分为多行并将其发送到 Kafka 出站适配器。我成功地做了一些类似的事情
我实现了一个 sftp-inbound-channel-adapter,当处理异常时,我应该显示一条自定义消息。 我试过 : 但是一个元素 不被接受。你能解释另一种解决方
Tensorflow 版本:1.11.0 我正在尝试将 TensorBoard 与 Tensorflow keras 模型一起用于投影仪可视化。 我收到 AttributeError: Layer f
我是一名优秀的程序员,十分优秀!