Spring Cloud Data Flow无法满足文件接收器和curl客户端的需求

时间:2017-07-05 18:53:30

标签: curl spring-cloud-dataflow

在Mac中,使用Spring XD

  • 1.3.2.RELEASE

以下工作正常:

stream create --name orderFilter --definition "http --port=9090 | filter --expression=#jsonPath(payload,'$.countryCode').equals('US') | file --name=manolito.txt --dir=/Users/manueljordan/Desktop --mode=APPEND" --deploy

通过自己的shell以下作品:

http post --target http://localhost:9090 --data "{\"id\":\"2773\",\"countryCode\":\"US\",\"orderAmt\":\"100\"}"
http post --target http://localhost:9090 --data "{\"id\":\"2774\",\"countryCode\":\"CA\",\"orderAmt\":\"125\"}"
http post --target http://localhost:9090 --data "{\"id\":\"2775\",\"countryCode\":\"US\",\"orderAmt\":\"110\"}"

数据已过滤,输出位于/Users/manueljordan/Desktop预期的位置。

直到这里一切都好。

现在迁移到使用

Spring Cloud Data Flow
  • spring-cloud-dataflow-server-local-1.2.2.RELEASE.jar
  • spring-cloud-dataflow-shell-1.2.2.RELEASE.jar

通过GUI(http://localhost:9393/dashboard/index.html#/streams/definitions),我可以创建相同的流。

再次通过shell(来自 spring-cloud-dataflow-shell ),以下工作:

  http post --target http://localhost:9090 --data "{\"id\":\"2773\",\"countryCode\":\"US\",\"orderAmt\":\"100\"}"
  http post --target http://localhost:9090 --data "{\"id\":\"2774\",\"countryCode\":\"CA\",\"orderAmt\":\"125\"}"
  http post --target http://localhost:9090 --data "{\"id\":\"2775\",\"countryCode\":\"US\",\"orderAmt\":\"110\"}"

用于Spring XD

的相同http帖子

情境01 即使上面的三个http post有关过滤器行为的影响,输出文件在/Users/manueljordan/Desktop中创建的,它是在/private/var/folders/nf/ql69b5zd7w54jw6nb5zmvck80000gn/T/dataflow/output中创建的

观察dataflow

中的ql69b5zd7w54jw6nb5zmvck80000gn目录

为什么会这样?如何解决这个问题?某些特殊配置缺失?

情境02 关于 cURL ,根据参考文档,在10.1. Endpoints部分,实际上低于Figure 3. The Spring Cloud Data Flow Server显示{{ 1}}也可以使用。

如果我使用以下命令,则通过cURL :(根据How to POST JSON data with Curl from Terminal/Commandline to Test Spring REST?

iterm 2

没有任何反应(我按Enter键执行命令,只是传递给新的行提示符,就是全部)。为什么?缺少什么?

1 个答案:

答案 0 :(得分:1)

请在此处查看答案:https://github.com/spring-cloud/spring-cloud-dataflow/issues/1587#issuecomment-313266803

我们监控SO和GitHub问题,因此无需交叉发布。

-Thomas