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 по умолчанию

Другие вопросы по тегам