【问题标题】:SpelEvaluationException: EL1004E: Method call: Method getValue(java.lang.String) cannot be found on java.lang.String typeSpelEvaluationException:EL1004E:方法调用:在 java.lang.String 类型上找不到方法 getValue(java.lang.String)
【发布时间】:2017-09-16 12:45:24
【问题描述】:

全部

我使用本地服务器运行 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 错误 -kafka-listener-1 o.s.k.l.LoggingErrorHandler:37 - 处理时出错: ConsumerRecord(topic = http_jdbc04.http, partition = 0, offset = 0, CreateTime = 1505563314419,校验和 = 1043955671,序列化密钥大小 = -1, 序列化值大小 = 102, key = null, value = [B@5b1b4ce3) org.springframework.integration.transformer.MessageTransformationException: 消息转换失败;嵌套异常是 org.springframework.messaging.MessageHandlingException:嵌套 例外是 org.springframework.expression.spel.SpelEvaluationException:EL1004E: 方法调用:Method getValue(java.lang.String) 找不到 java.lang.String 类型,failedMessage=GenericMessage [有效载荷={“名称”:“世界”},标题={kafka_offset=0, id=0392ca58-6644-91fb-9454-a41e83854955,kafka_receivedPartitionId=0, 内容类型=应用程序/json;字符集=UTF-8, kafka_receivedTopic=http_jdbc04.http, 时间戳=1505563317552}]

这是我关注的文档spring-cloud-dataflow-docs

还有Spring云数据流版本:

1.spring cloud dataflow本地服务器1.2.3.RELEASE

2.Java:1.8.0

【问题讨论】:

    标签: java spring spring-cloud-dataflow


    【解决方案1】:

    我解决了这个问题。

    这是行不通的:

    transform --expression=payload.getValue('name')
    

    你应该使用#jsonPath(payload, '<json path expression>')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-30
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      相关资源
      最近更新 更多