nested exception is groovy.lang.MissingPropertyException: No such property: other for class: Script2
解析groovy公式$->{[apple, banana]}失败
结果:groovy不可以解析 ${[apple, banana]},可以正常解析带有引号的 非数字 ${['apple', 'banana']}(程序中会删除->再groovy解析),说明不是groovy解析的主要问题,是传输给groovy的公式没有带引号
$->{['apple', 'banana']}
结果:groovy解析之前,单引号又不见了。
结果:代码读取配置文件到内存后,单引号就不见了。配置文件也不是系统原始的properties文件,而是已经变型了的 yaml文件(名称是rule)存储在电脑的sharding运行目录中
删除之前生成的rule文件,重新生成
ShardingTableRuleConfigurationYamlSwapper.swapToYamlConfiguration()
//到这里 参数中tables还是 $->{['apple', 'banana']}
|
结果:生成的rule文件中,是$->{['apple', 'banana']}
应用可以正常启动
$->{[apple, banana]} 确实会解析失败,
$->{['apple', 'banana']}可以解析成功。
应用生成了rule文件, 没有及时更新
分片键 groovy公式格式,
1)值是数字,可以直接写入 $->{[2022, 2023]}
2)值是非数字,加单引号,
=》nacos中写配置:$->{['apple', 'banana']},
=》项目中写配置加\ ($->{[\'apple\', \'banana\']})