我正在尝试配置如下流(直接从 jdbc 源管道到 jdbc 接收器)
xd> 流创建 test2 --definition "输出:jdbc --split=true --username=test --password=test --driverClassName=com.mysql.jdbc.Driver --url=jdbc:mysql://dbhost: 3306/test --query='select id,name from test' | 输入:jdbc --username=test --password=test --driverClassName=com.mysql.jdbc.Driver --tableName=test2 --columns=id ,name --url=jdbc:mysql://dbhost:3306/test" --deploy
但发生ClassCastException。
引起:java.lang.ClassCastException:org.springframework.util.LinkedCaseInsensitiveMap 不能在 org.springframework.xd.jdbc.JdbcMessagePayloadTransformer.transformPayload(JdbcMessagePayloadTransformer.java:39) 的 org.springframework.integration 中转换为 java.lang.String .transformer.AbstractPayloadTransformer.doTransform(AbstractPayloadTransformer.java:33) 在 org.springframework.integration.transformer.AbstractTransformer.transform(AbstractTransformer.java:33) ... 147 更多
MySQL 连接和表模式似乎配置正确。连通性已经确认。
CREATE TABLE 测试 (id int, name varchar(20)); CREATE TABLE test2 (id int, name varchar(20))
Spring XD 版本是 1.1.0.BUILD-20141103.163150-1-dist 来自下面的 zip。
我想将有效负载数据存储到目标接收器表,但该功能仍处于试验阶段吗?
或者,是流问题吗,例如只是进行某种转换?