春のXDは初めてです...
csv ファイルを読み取り、spring-data-cassandra を使用して Cassandra データベースにデータを挿入するジョブを作成しようとしています。
私のバッチプロジェクトではすべて問題ありません。バッチをパッケージ化して、Spring xd を "/module/job/myjob" (私は myjob と呼びました) にデプロイできます。
「myjob」ディレクトリには、config (myjob.xml を含む) と lib (すべての依存関係を含む) の 2 つのフォルダーがあります。
しかし、春の 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 に配置しようとしました (そこに jar を配置するのは好きではありませんが、そうするように求められました)。その後、エラーが変更されました。
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
私は確かに何かを逃した!
更新: $XD_HOME/modules/job に myjob.xml を配置し、$XD_HOME/lib に jar を配置すると、動作します ...
更新 2 : /modules/job/myjob/config|lib で動作するようになりました。モジュール ライブラリ ディレクトリに配置する必要のあるすべての jar ファイルを厳選しました。私は今、パフォーマンスの問題である別の問題を抱えています。そのために別の質問を投稿します。
どうも