首页 > 解决方案 > 从http源写入json数据时mongodb sink问题

问题描述

我的流设置是 http source -> mongodb sink。当我从 http 源发送测试消息(JSON)时,在 mongodb 接收器中出现以下错误。

消息处理程序发生错误 [bean 'mongoConsumerMessageHandler'; 定义在:'org.springframework.cloud.fn.consumer.mongo.MongoDbConsumerConfiguration';来自消息来源:'org.springframework.core.type.StandardMethodMetadata@1b11ef33'] 消息 [GenericMessage [payload=byte[24],headers={amqp_receivedDeliveryMode=PERSISTENT,content-length=24,amqp_receivedExchange=http-rabbit-stream- http-源,amqp_deliveryTag=1,amqp_redelivered=false,b3=a080d23cbf78b659-65e9906748c2b-1,主机=http-src-http-source-v1.dt-u2.cf.test.net,连接=关闭,id=7fac727a- de9a-aea95-92c574a246d1, cache-control=no-cache, sourceData=(Body:' {"hello": "world !!"} ... 15:38:39.818: [APP/PROC/WEB.0] org .springframework.data.mapping.MappingException:找不到类型类的 PersistentEntity [B!15:38:39.818:

标签: spring-cloud-streamspring-cloud-dataflow

解决方案


这似乎是应用程序的问题。我们将对其进行调查并尽快解决。同时,如果您想在本地修复它,请尝试以下步骤。

  1. 克隆 repo:https ://github.com/spring-cloud/stream-applications
  2. 将此函数定义更改为<functionDefinition>byteArrayTextToString|mongodbConsumer</functionDefinition>
  3. 在此处添加以下内容作为依赖项。
<dependency>
    <groupId>org.springframework.cloud.fn</groupId>
    <artifactId>payload-converter-function</artifactId>                            
</dependency>
  1. 从 repo 的根目录:./mvnw clean install -pl :mongodb-sink
  2. cd applications/sink/mongodb-sink/apps/mongodb-sink-rabbit
  3. ./mvnw clean package.
  4. 获取生成的 jar 并将其安装在 SCDF 中。

这应该适用于像HTTP | MongoDB.


推荐阅读