当业务中被第三方库的一些方法限制时,我们可以通过修改第三方库的方法实现来满足我们的需求
本文使用了byte-buddy[1]参考资料
1、场景
es用Query.Builder 构建条件的时候,查询字段太长了 被截断了
断点图如下
造成这种方法的原因
通过查阅源码发现他重写了toString方法,当构建的参数过长是就会截断
最后拼接…
所以造成了dsl截断
但是这个需求是必须要做的,我们可以修改这个maxToStringLength的返回值值来解决这个问题
2、如何修改?
上边只是一种场景,下边如何修改举例,就不使用公司项目是,我们从stream-query中选一个方法来修改
我们之间修改这个方法的内容,让他直接返回一个我们想要的值
2.1、引入byte-buddy
12345678910<dependency> <groupId>net.bytebuddy</groupId> <artifactId>byte-buddy</artifactId> <version>1.14.12 ...