目标是读取通过网络发出的数据。
在数据生成方面,我有一个向标准输出发送的应用程序。该数据的内容是一个 JSON 字符串。
这就是我正在做的事情(在 Linux Mint 17 上,使用 BSD 风格的 netcat):
数据生成:
my_app_which_outputs_json | netcat localhost 9999
在 SpringXD 中:(带有xd-singlenode
)
xd:>stream create --name tcptest --definition "tcp --decoder=LF --port=9999 | file " --deploy
Created and deployed new stream 'tcptest'
输出:
/tmp/xd/output$ cat tcptest.out
82,117,110, ... (etc, lots more bytes)
我确定这是用户错误,但不确定要更改什么才能使其正确。
我应该注意,如果我这样做,它会按预期工作:
my_app_which_outputs_json > /tmp/somefile.txt
...
xd:>stream create --name filetest --definition "tail --name=/tmp/somefile.txt | file" --deploy