我使用http源和接收器dataflow-launcher构建流以执行名为batchPY546Task的spring批处理任务要启动此任务,我设置了localFilePath =文件路径。因此,在文档中,可以使用http源通过有效负载传递信息。
{
"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兼容。
问候
args必须是json列表"args":["localFilePath=/tmp/..."]
使用此语法解决的问题: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“]}'