由于变换groovy脚本,springxd流创建失败

时间:2016-01-11 13:54:25

标签: groovy cassandra spring-xd

[![在此处输入图像说明] [1]] [1]我想使用springXD创建流。根据流的基本定义,我有:

Source :  http

Transform script : I written one groovy script which I stored at 
/xd/modules/processor/script/transform.groovy            

Sink : cassandra

我想存储非结构化的json数据,我将其从http发布到cassandra表。 我在单节点模式下运行springXD,然后运行xd-shell。 对于流创建,我使用:

stream create --name test2 --definition "http --port=9000 | transform --   
script=insert_transform.groovy |cassandra --contactPoints=127.0.0.1 --
keyspace=db1 --ingestQuery='insert into table1 (emp_id,emp_name,amount,time)
values (?,?,?,?)'" –deploy

我收到了消息: 创建并部署了新的流'test2'

之后,当我通过http发布数据时,会出现以下错误:

500 INTERNAL_SERVER_ERROR

在xd-singlenode上,出现以下错误日志:

Caused by: java.io.FileNotFoundException: class path resource [insert_transform.groovy] cannot be opened because it does not exist.

1 个答案:

答案 0 :(得分:0)

哪个版本的Spring XD?我刚用1.3.0.RELEASE进行了测试,它工作得很好......

xd:>stream create foo --definition "time | transform --script=test.groovy | log" --deploy

$ cat xd/modules/processor/scripts/test.groovy
'Time = ' + payload 

2016-01-11T09:45:19-0500 1.3.0.RELEASE INFO xdbus.foo.1-1 sink.foo - Time = 2016-01-11 09:45:19
2016-01-11T09:45:20-0500 1.3.0.RELEASE INFO xdbus.foo.1-1 sink.foo - Time = 2016-01-11 09:45:20
2016-01-11T09:45:21-0500 1.3.0.RELEASE INFO xdbus.foo.1-1 sink.foo - Time = 2016-01-11 09:45:21