我是春天的新手XD ...
我正在尝试创建一个将读取 csv 文件并使用 spring-data-cassandra 将数据插入 Cassandra 数据库的作业。
在我的批处理项目中一切都很好。我可以打包我的批处理并将其部署到 spring xd 到“/module/job/myjob”(我称之为 myjob)。
在“myjob”目录中有 2 个文件夹:config(带有 myjob.xml)和 lib(带有所有依赖项)。
但是当我尝试在 spring xd shell 中创建我的工作时: 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。我对必须放入模块库目录的所有 jar 进行了挑选。我现在有另一个问题,那就是性能问题。我将为此发布另一个问题。
谢谢