java8 升级到 java15之后,redis fst 反射警告

WARNING: An illegal reflective access operation has occurred

WARNING: Illegal reflective access by org.nustaq.serialization.FSTClazzInfo (file:/Users/nigel/Projects/nigel/github/hanhanfilm/target/hanhanfilm-1.0/WEB-INF/lib/fst-2.57.jar) to field java.math.BigDecimal.intVal

WARNING: Please consider reporting this to the maintainers of org.nustaq.serialization.FSTClazzInfo

WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations

WARNING: All illegal access operations will be denied in a future release

此问题虽然不影响使用,但是会有警告,且java未来也将禁止类似的操作。

波总能否考虑一下升级redis 默认的序列化实现?

评论区

JFinal

2021-02-05 19:44

我不知道是 fst 版本太低导致还是 jfinal 的封装导致

希望你在你的项目中改一改实现,看能不能解决,因为你现在正处于这个环境下,最方便

改造的办法可以是通过扩展 ISerializer ,然后通过 redisPlugin.setSerializer(ISerializer) 切换成自己的

JFinal

2021-02-05 19:45

搞定后可以提交 pull request,参与 jfinal 项目开发:
https://gitee.com/jfinal/jfinal/pulls

badouyuren

2021-02-25 10:29

@JFinal 是fst的问题。