Dataflow启动器Payload Java

问题描述 投票:0回答:2

我使用http源和接收器dataflow-launcher构建流以执行名为batchPY546Task的spring批处理任务要启动此任务,我设置了localFilePath =文件路径。因此,在文档中,可以使用http源通过有效负载传递信息。

https://github.com/spring-cloud-stream-app-starters/tasklauncher-dataflow/blob/master/spring-cloud-starter-stream-sink-task-launcher-dataflow/README.adoc

{
  "name":"foo",
  "deploymentProps": {"key1":"val1","key2":"val2"},
  "args":["--debug", "--foo", "bar"]
}

我尝试了许多语法:curlhttp://localhost:57110-H“ Content-Type:application / json” -d'{“ name”:“ batchPy546Task”,“ args”:{“ localFilePath = / tmp / remote-files1 / BLM-54.00.01_Multicontrat_Creation_IDCRT011-b。 xml“}}'

都错了

原因:com.fasterxml.jackson.databind.exc.MismatchedInputException:无法从START_OBJECT令牌中反序列化java.util.ArrayList<java.lang.Object>的实例在[来源:(byte [])“ {” name“:” batchPy546Task“,” args“:{” localFilePath = / tmp / remote-files1 / BLM-54.00.01_Multicontrat_Creation_IDCRT011-b.xml“}}”;行:1,列:34](通过参考链:org.springframework.cloud.stream.app.task.launcher.dataflow.sink.LaunchRequest [“ args”])在com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)〜[jackson-databind-2.10.2.jar!/:2.10.2]

如何将参数lcalFilePath传递给我的任务?

版本:数据流服务器14.2船长服务器2.3.2datafmow auncher是最新的,并且与数据流服务器2.4.2兼容。

问候

spring-cloud-dataflow
2个回答
0
投票

args必须是json列表"args":["localFilePath=/tmp/..."]


0
投票

使用此语法解决的问题:curlhttp://localhost:57110-H“ Content-Type:application / json” -d'{“ name”:“ batchPy546Task”,“ args”:[“ localFilePath = / tmp / remote-files1 / BLM-54.00.01_Multicontrat_Creation_IDCRT011-b。 xml“]}'

© www.soinside.com 2019 - 2024. All rights reserved.