我使用的是spring-xd-1.0.0.M6。
我尝试将mysql DB配置为Spring-xd的接收器
我关注 - http://theblasfrompas.blogspot.in/2014/01/springxd-filetail-input-ingestion-jdbc.html
我把我的jdbc.properties文件放在
中 1)spring-xd-1.0.0.M6/xd/modules/sink/jdbc/config
位置
2)我把mysql连接器jar放在
中spring-xd-1.0.0.M6/xd/lib
我创建了一个文件 - input.txt并将其放在文件夹中 - /<some path>/temp/input.txt
该文件包含
{"id":"1","name":"pas"}
{"id":"2","name":"lucia"}
{"id":"3","name":"lucas"}
{"id":"4","name":"siena"}
jdbc文件包含以下信息。
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/spring_xd
username=root
password=root
现在在XD shell中执行以下
stream create --name filetest --definition "tail --name='/<some path>/temp/input.txt' | jdbc --columns='id,name'" --deploy
我的my-sql数据库表名是 - file_test,它有2列id和name - 与Example Link
但是我得到了
Command failed org.springframework.xd.rest.client.impl.SpringXDException: Error with option(s) for module jdbc of type sink:
columns: option named 'columns' is not supported
如果我指定tableName参数,我也得到..
tableName: option named 'tableName' is not supported
我也提到了 - https://github.com/spring-projects/spring-xd/pull/621
但是线索少......使用最新的Spring-xd版本
答案 0 :(得分:0)
放置.properties文件的目录不是为了配置模块,而是声明哪些选项可用。通过把它放在那里,你基本上宣称jdbc
模块没有选项(因为你实际上没有使用正确的语法)。
相反,您需要将您提到的.properties文件放在其他位置。请注意,拾取的确切位置在不同版本之间发生了变化。我建议使用最新版本(撰写本文时为M7)。然后,正确的位置是
${xd.home}/config/modules/sink/jdbc/jdbc.properties
而不是
${xd.home}/modules/sink/jdbc/config/jdbc.properties
请注意,XD版本目前提供了开箱即用的文件,其内容如下:
url = ${spring.datasource.url}
driverClassName = ${spring.datasource.driverClassName}
username = ${spring.datasource.username}
password = ${spring.datasource.password}
这是为了让jdbc模块使用默认情况下server.yml
中定义的值