全部
我使用本地服务器运行spring云数据流。当我运行这样定义的流时
http --port=8787 | transform --expression=payload.getValue('name') |
jdbc --columns=name --table-name=http_table --password=******
--driver-class-name=org.mariadb.jdbc.Driver --username=root --url='jdbc:mysql://127.0.0.1:3306/target_data'
我使用处理器转换
transform --expression=payload.getValue('name')
但它有这样的错误。
2017-09-16 20:01:57,561 ERROR-Kafka-侦听器-1 o. s. k. l. LoggingError Handler: 37-处理时出错:消费者记录(主题=http_jdbc04.http,分区=0,偏移量=0,CreateTime=1505563314419,校验和=1043955671,序列化密钥大小=-1,序列化值大小=102,密钥=null,值=[B@5b1b4ce3)org.springframework.integration.transformer.MessageTransformation异常:转换消息失败;嵌套异常是org.springframework.messaging.MessageHandling异常:嵌套异常是org.springframework.expression.spel.SpelE的异常:EL1004E:方法调用:在java.lang.字符串类型上找不到方法getValue(java.lang.String),失败消息=通用消息[有效载荷={"name":"world"},标头={kafka_offset=0,id=0392ca58-6644-91fb-9454-a41e83854955,kafka_receivedPartitionId=0,内容类型=应用程序/json;charset=UTF-8,kafka_receivedTopic=http_jdbc04.http,time
以下是我关注的Spring云数据流文档
以及Spring云数据流版本:
1.spring云数据流本地服务器1.2.3.RELEASE
2.Java:1.8.0
我解决了这个问题。
这是行不通的:
transform --expression=payload.getValue('name')
您应该使用< code>#jsonPath(有效负载,