使用jobParameters响应'jobParameters'的Spring XD Rest api作业启动不被识别为内部或外部命令

时间:2015-04-30 14:56:58

标签: spring-xd

我已经部署了Spring XD作业,需要2 jobParameter s(absoluteFilePathfileName)。实际上这个作业是由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

1 个答案:

答案 0 :(得分:0)

您是否尝试通过XD shell启动?它会在请求正文中发送jobNamejobParameters ...

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;。

(问题是&)。