canal
canal copied to clipboard
数字类型的字段,如果值为Null,会报错 For input string ""
比如Java中使用Integer、Long、BigDecimal等类型的字段,数据表中字段的值为null,canal就会报错:For input string "" 因为canal默认直接把值为Null的数字类型字段变成空字符串,所以报这个错误
报错和复现条件,描述的清楚一些,包括canal版本
报错和复现条件,描述的清楚一些,包括canal版本
canal.deployer-1.1.7-SNAPSHOT
自己写个handler类,实现EntryHandler接口
你搞个int字段,java里面Integer属性。然后你在数据表里面把字段值在null和数字之间来回修改一下,就能看到这个报错
用的这个依赖
<dependency>
<groupId>top.javatool</groupId>
<artifactId>canal-spring-boot-starter</artifactId>
<version>1.2.1-RELEASE</version>
</dependency>
这个解决了没,我也遇到了,用的一模一样的版本
这问题是因为源数据字段类型为int,值为NULL,canal在解析数据的解析成了空字符串"",然后在反射转回原来的对象的时候,空字符串转int报错了,有人解决吗?