mongodb 从 http 源写入 json 数据时出现接收器问题
mongodb sink issue while writing a json data from http source
我的流设置是 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-source,amqp_deliveryTag=1,amqp_redelivered=false,b3=a080d23cbf78b659-65e9906748c2b-1,host=http-src-http-source-v1.dt-u2.cf.test.net, connection=close, 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: 找不到类型 class 的 PersistentEntity [B!
15:38:39.818: [APP/PROC/WEB.0] 在 org.springframework.data.mapping.context.MappingContext.getRequiredPersistentEntity(MappingContext.java:79) ~[spring-data-commons-2.3.7.RELEASE.jar:2.3.7.RELEASE]
15:38:39.818: [APP/PROC/WEB.0] 在 org.springframework.data.mongodb.core.EntityOperations$AdaptibleMappedEntity.of(EntityOperations.java:652) ~[spring-data-mongodb-3.0.7.RELEASE.jar:3.0.7.RELEASE]
15:38:39.818: [APP/PROC/WEB.0] 在 org.springframework.data.mongodb.core.EntityOperations$AdaptibleMappedEntity.access$100(EntityOperations.java:632) ~[spring-data-mongodb-3.0.7.RELEASE.jar:3.0.7.RELEASE]
15:38:39.818: [APP/PROC/WEB.0] 在 org.springframework.data.mongodb.core.EntityOperations.forEntity(EntityOperations.java:108) ~[spring-data-mongodb- 3.0.7.RELEASE.jar:3.0.7.RELEASE]
这似乎是应用程序的问题。我们将调查并尽快解决。同时,如果您想在本地修复它,请尝试以下步骤。
- 克隆存储库:https://github.com/spring-cloud/stream-applications
- 将 this 函数定义更改为
<functionDefinition>byteArrayTextToString|mongodbConsumer</functionDefinition>
- 将以下内容添加为依赖项 here。
<dependency>
<groupId>org.springframework.cloud.fn</groupId>
<artifactId>payload-converter-function</artifactId>
</dependency>
- 从回购的根目录:
./mvnw clean install -pl :mongodb-sink
cd applications/sink/mongodb-sink/apps/mongodb-sink-rabbit
./mvnw clean package
.
- 获取生成的 jar 并将其安装在 SCDF 中。
这应该适用于像 HTTP | MongoDB
这样的管道。
我的流设置是 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-source,amqp_deliveryTag=1,amqp_redelivered=false,b3=a080d23cbf78b659-65e9906748c2b-1,host=http-src-http-source-v1.dt-u2.cf.test.net, connection=close, 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: 找不到类型 class 的 PersistentEntity [B! 15:38:39.818: [APP/PROC/WEB.0] 在 org.springframework.data.mapping.context.MappingContext.getRequiredPersistentEntity(MappingContext.java:79) ~[spring-data-commons-2.3.7.RELEASE.jar:2.3.7.RELEASE] 15:38:39.818: [APP/PROC/WEB.0] 在 org.springframework.data.mongodb.core.EntityOperations$AdaptibleMappedEntity.of(EntityOperations.java:652) ~[spring-data-mongodb-3.0.7.RELEASE.jar:3.0.7.RELEASE] 15:38:39.818: [APP/PROC/WEB.0] 在 org.springframework.data.mongodb.core.EntityOperations$AdaptibleMappedEntity.access$100(EntityOperations.java:632) ~[spring-data-mongodb-3.0.7.RELEASE.jar:3.0.7.RELEASE] 15:38:39.818: [APP/PROC/WEB.0] 在 org.springframework.data.mongodb.core.EntityOperations.forEntity(EntityOperations.java:108) ~[spring-data-mongodb- 3.0.7.RELEASE.jar:3.0.7.RELEASE]
这似乎是应用程序的问题。我们将调查并尽快解决。同时,如果您想在本地修复它,请尝试以下步骤。
- 克隆存储库:https://github.com/spring-cloud/stream-applications
- 将 this 函数定义更改为
<functionDefinition>byteArrayTextToString|mongodbConsumer</functionDefinition>
- 将以下内容添加为依赖项 here。
<dependency>
<groupId>org.springframework.cloud.fn</groupId>
<artifactId>payload-converter-function</artifactId>
</dependency>
- 从回购的根目录:
./mvnw clean install -pl :mongodb-sink
cd applications/sink/mongodb-sink/apps/mongodb-sink-rabbit
./mvnw clean package
.- 获取生成的 jar 并将其安装在 SCDF 中。
这应该适用于像 HTTP | MongoDB
这样的管道。