Spring XD - Конфигурация мойки JDBC | столбцы: опция с именем "столбцы" не поддерживается
Я использую 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 в
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 я выполняю следующее
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
1 ответ
Каталог, в который вы положили файл.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
по умолчанию