java.lang.ClassNotFoundException: org/apache/commons/pool2/impl/DefaultEvictionPolicy

在使用redis的时候会报这个错,原因是comons-pool2版本低导致的,我使用的是2.3,实际上应该使用2.4

区别在于2.4在用class.forName加载类时如果用当前线程上下文加载器加载不到,则使用加载

BaseGenericObjectPool

的类加载器加载DefaultEvictionPolicy

java.lang.ClassNotFoundException: org/apache/commons/pool2/impl/DefaultEvictionPolicy

但是只有使用ForkJoinPool的时候会发生加载不到DefaultEvictionPolicy的情况,使用

ThreadPoolTaskExecutor

就不会有这样的问题,初步怀疑是ForkJoinPool的分解任务机制导致的