我已经部署了Spring XD作业,需要2 jobParameter
s(absoluteFilePath
和fileName
)。实际上这个作业是由JMS流触发的,它的输出以JSON格式提供了那两个jobParameter
,并且工作正常。我想用REST API启动这项工作,如:
curl -X POST http://localhost:9393/jobs/executions?jobname=loadData&jobParameters=%7B%22absoluteFilePath%22%3A%22C%3A%2FUB%2Fdev%2FBM.txt%22%2C%22fileName%22%3A%22BM.txt%22%7D
错误我得到了: 'jobParameters'不被识别为内部或外部命令,可操作程序或批处理文件。
想知道CURL命令是否有问题或者是否支持jobParameters
?
我可以使用以下CURL命令启动没有jobParameter
的作业,但由于作业需要参数,它会失败。
curl -X POST http://localhost:9393/jobs/executions?jobname=loadData
答案 0 :(得分:0)
您是否尝试通过XD shell启动?它会在请求正文中发送jobName
和jobParameters
...
public void launchJob(String name, String jobParameters) {
String uriTemplate = resources.get("jobs/executions").toString();
MultiValueMap<String, Object> values = new LinkedMultiValueMap<String, Object>();
values.add("jobParameters", jobParameters);
values.add("jobname", name);
restTemplate.postForObject(uriTemplate, values, Object.class);
}
这看起来像是OS shell消息;尝试添加&#39; ...&#39;围绕网址。
谷歌让我觉得这是在Windows上(不知道你从哪里得到卷曲);对于Windows,您可能需要&#34; ...&#34;。(问题是&
)。