Я новичок в весне XD...
Я пытаюсь создать задание, которое будет читать CSV-файл и использовать spring-data-cassandra для вставки данных в базу данных Cassandra.
В моем пакетном проекте все в порядке. Я могу упаковать свой пакет и развернуть его на spring xd в /module/job/myjob (я назвал его myjob).
в каталоге myjob есть 2 папки: config (с myjob.xml) и lib (со всеми зависимостями).
Но когда я пытаюсь в оболочке spring xd создать свою работу: job create --definition myjob --name test1
Я получил эту ошибку:
Command failed org.springframework.xd.rest.client.impl.SpringXDException:
Unexpected exception parsing XML document from URL
file:/home/fmarchand/programs/spring-xd/spring-xd-1.0.0.RC1/xd/
modules/job/myjob/config/myjob.xml];
nested exception is java.lang.IllegalStateException: Unable to load schema
mappings from location [META-INF/spring.schemas]
И в журналах spring-xd:
Caused by: java.io.FileNotFoundException: /home/fmarchand/programs/spring-xd/spring-xd-1.0.0.RC1/xd/lib/spring-cql-1.0.1.RELEASE.jar (No such file or directory)
Я попытался поместить spring-cql-1.0.1.RELEASE.jar в XD_HOME/lib (мне не нравится помещать туда банки, но он попросил меня сделать это), затем ошибка изменилась:
Command failed org.springframework.xd.rest.client.impl.SpringXDException: Unexpected
exception parsing XML document from URL [file:/home/fmarchand/programs/spring-xd/spring-xd-
1.0.0.RC1/xd/modules/job/myjob/config/myjob.xml]; nested exception is
org.springframework.beans.FatalBeanException: Class
[org.springframework.data.cassandra.config.xml.CassandraNamespaceHandler] for namespace
[http://www.springframework.org/schema/data/cassandra] does not implement the
[org.springframework.beans.factory.xml.NamespaceHandler] interface
Я что-то пропустил точно!
Обновление: если я помещу myjob.xml в $XD_HOME/modules/job и jars в $XD_HOME/lib, все заработает...
Обновление 2: теперь он работает с /modules/job/myjob/config|lib. Я тщательно выбирал все банки, которые мне нужно было поместить в каталог библиотеки модулей. У меня сейчас другая проблема, связанная с производительностью. Я опубликую еще один вопрос для этого.
Спасибо