我有以下设置:
return IntegrationFlows.from(MongoDb.reactiveInboundChannelAdapter(mongoDbFactory,
new Query().addCriteria(Criteria.where("status").is(ProcessingStatus.PROCESSED))
.with(Sort.by(Sort.Direction.DESC, "modifiedDate")).limit(1))
.collectionName("processingMetadata")
.entityClass(ProcessingMetadata.class)
.expectSingleResult(true),
e -> e.poller(Pollers.fixedDelay(Duration.ofSeconds(pollingIntervalSeconds))))
.<Mono<ProcessingMetadata>>handle((p, h) -> {
// do something
})
它应该每3秒轮询一次Mongo,但它实际上从来没有这样做(再次,它在本地工作没有问题)。
之后连接工作良好,因为我有另一个由文件上传触发的进程,它工作正常(数据被写入MongoDB)。
老实说,我有点困惑是哪个组件在这里出了问题,所以我希望你能帮我缩小范围。
.handle(Jpa.retrievingGateway(this.sourceEntityManagerFactory)
.entityClass(DocumentHeader.class)
.jpaQuery("from DocumentHeader d where d.modifiedDate > :modified")
.parameterExpression("modified", "payload")
.maxResults(maxResults), e -> e.id("retrieveDocumentHeader"))
.<List>handle((p, h) -> {
if (p.isEmpty())
this.advices.waitUntilCompletedAdvice().setWait(false);
return p;
})
.channel(Channels.DOCUMENT_HEADER.name())
2020-09-25 08:35:07.771 DEBUG 1 --- [ask-scheduler-3] o.s.d.m.core.ReactiveMongoTemplate : find using query: { "status" : "PROCESSED"} fields: Document{{}} for class: class com.zurich.ccmc.data.orchestrator.domain.targetdb.ProcessingMetadata in collection: processingMetadata
2020-09-25 08:35:07.771 DEBUG 1 --- [ask-scheduler-3] o.s.i.e.SourcePollingChannelAdapter : Poll resulted in Message: GenericMessage [payload=MonoNext, headers={mongo_collectionName=processingMetadata, id=4a26e221-deb9-f1af-1c35-7ba0d47042b1, timestamp=1601022907771}]
2020-09-25 08:35:07.778 DEBUG 1 --- [ask-scheduler-3] o.s.i.splitter.DefaultMessageSplitter : handler 'bean 'setProcessingStatusToOpen.splitter#0' for component 'setProcessingStatusToOpen.org.springframework.integration.config.ConsumerEndpointFactoryBean#0'; defined in: 'class path resource [xxx/processing/ProcessingMetadataFlow.class]'; from source: 'bean method setProcessingStatusToOpen'' produced no reply for request Message: GenericMessage [payload=[], headers={mongo_collectionName=processingMetadata, id=0a446b4c-12fc-d72d-d4ad-8453eb51227c, timestamp=1601022907778}]
发现问题了。jdbc-URL参数错误(部署到AKS时一开始缺少jdbc:sqlserver://)。我希望有某种适当的例外,但只有这个警告:
2020-09-24 14:33:04.710 WARN 1 --- [ task-1] o.h.e.j.e.i.JdbcEnvironmentInitiator : HHH000342: Could not obtain connection to query metadata : Driver com.microsoft.sqlserver.jdbc.SQLServerDriver
accept jdbcUrl, xxx.database.windows.net
我也不明白为什么JPA.RetrievingGateway没有抛出任何异常并跳转到下一个处理程序...
我的spring应用程序使用mongodb进行持久化。应用程序使用用户名/密码连接到mongodb。 为了找到Spring Native的好处,我在我的Ubuntu18LTS上创建了一个docker映像。当我使用docker compose运行应用程序映像和mongodb映像时,一切看起来都很好。当我调用插入mongodb的rest api时,应用程序会抛出一个错误 操作系统:Ubuntu18LT
因此,在aws实例中,我们尝试将spring kafka与msk连接起来,在msk中使用本地kafka。接下来没有ssl。我试着用telnet运行它。但是在运行应用程序时,出现了这个异常。 我们的msk集群在同一个vpc中。所有代理连接配置字符串都正常
问题内容: 当我的MongoDB连接空闲几分钟后,下一个请求将错误结束。从命令行客户端,它看起来像这样: 我看到针对MongoHQ和MongoLab的沙箱实例的问题。 由于重新连接,下一个请求通过正常。这是我的网络应用程序中的一个问题,因为几分钟不活动后,在网络请求期间将出现此错误。有两件事让我感到惊讶: MongoDB连接被如此频繁和频繁地破坏,并且 驱动程序只是引发一个异常,而不是在重新连接后
当我用我的节点运行MongoDB连接时。js应用程序哪个游戏平台我在这里面临着越来越多的MongoDB连接的问题[不使用任何查询,但它不断增加],达到819,我的MongoDB复制服务器停止响应,间接应用程序停止工作。但是我想保持至少20个关于如何解决这些问题的联系,请帮助我。 ** Mongodb连接:const connectionString=mongodb://AAAA:PASSWORD@
未能配置数据源:未指定“url”属性,无法配置任何嵌入的数据源。 原因:未能确定合适的驱动程序类 行动:
刚到spring boot,我想知道如何为MongoDB配置连接细节。我已经尝试了正常的例子,但没有涉及连接的细节。 我想指定将要使用的数据库和运行MongoDB的主机的URL/端口。 有什么提示或提示吗?