首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当尝试使用spring-integration-aws S3StreamingMessageSource对S3进行民意调查时

当尝试使用spring-integration-aws S3StreamingMessageSource对S3进行民意调查时
EN

Stack Overflow用户
提问于 2018-01-25 06:49:09
回答 1查看 284关注 0票数 2

我正在尝试使用S3StreamMessageSource轮询一个S3StreamMessageSource对象存储,如下所示(在流入通道适配器下):https://github.com/spring-projects/spring-integration-aws/tree/v1.1.0.RELEASE

代码语言:javascript
复制
@Bean
@InboundChannelAdapter(value = "s3Channel", poller = @Poller(fixedDelay = "15000", maxMessagesPerPoll = "1"))
public MessageSource<InputStream> s3InboundStreamingMessageSource() {
    S3StreamingMessageSource messageSource = new S3StreamingMessageSource(s3RemoteFileTemplate());
    messageSource.setRemoteDirectory(s3Bucket+"/INBOX/");
    messageSource.setFilter(new S3SimplePatternFileListFilter("test*"));
    messageSource.setFilter(new S3PersistentAcceptOnceFileListFilter(new SimpleMetadataStore(), "s3Stream"));
    return messageSource;
}

@Bean
@org.springframework.integration.annotation.Transformer(inputChannel = "s3Channel", outputChannel = "nullChannel")
public Transformer transformer() {
    return new StreamTransformer();
}

@Bean
public S3RemoteFileTemplate s3RemoteFileTemplate() {
    return new S3RemoteFileTemplate(new S3SessionFactory(amazonS3));
}

但是,每次我的应用程序启动时,都会抛出一个NPE:

代码语言:javascript
复制
2018-01-24 23:25:42.243 ERROR 29808 --- [ask-scheduler-1] o.s.integration.handler.LoggingHandler   : org.springframework.messaging.MessagingException: nested exception is java.lang.NullPointerException
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.lambda$run$0(AbstractPollingEndpoint.java:396)
    at org.springframework.integration.util.ErrorHandlingTaskExecutor.lambda$execute$0(ErrorHandlingTaskExecutor.java:53)
    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:373)
    at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
    at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:93)
    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: java.lang.NullPointerException
    at org.springframework.integration.json.SimpleJsonSerializer.toElement(SimpleJsonSerializer.java:92)
    at org.springframework.integration.json.SimpleJsonSerializer.toJson(SimpleJsonSerializer.java:74)
    at org.springframework.integration.file.remote.AbstractFileInfo.toJson(AbstractFileInfo.java:60)
    at org.springframework.integration.file.remote.AbstractRemoteFileStreamingMessageSource.doReceive(AbstractRemoteFileStreamingMessageSource.java:164)
    at org.springframework.integration.endpoint.AbstractMessageSource.receive(AbstractMessageSource.java:141)
    at org.springframework.integration.endpoint.SourcePollingChannelAdapter.receiveMessage(SourcePollingChannelAdapter.java:230)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint.doPoll(AbstractPollingEndpoint.java:250)
    at org.springframework.integration.endpoint.AbstractPollingEndpoint$Poller.lambda$run$0(AbstractPollingEndpoint.java:379)
    ... 13 more

当我跨过抛出异常的位置时,它位于S3FileInfo.getPermissions代码的一部分,我看到UnsupportedOperationException“使用AmazonS3.getObjectAcl()获得权限”

我该怎么做才能补救这一切?我使用Spring 1.5.9,spring-integration-aws 1.1.0,spring-integration-core 5.0.0.RELEASE

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-25 15:43:31

如果要使用SpringIntegration5.0,则必须切换到SpringBoot2.0和SpringIntegrationAWS2.0。

或者至少切换到Spring 5.0.1.BUIDL-SNAPSHOT- -最近您提到的问题已经解决了:https://github.com/spring-projects/spring-integration/commit/34ffd9654d5ab4ada14fb3b34792d7019a1a34f4#diff-f473860eda832ea1371776cafd6809f9

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48437117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档