Open qichhhhh opened 1 month ago
@binarywang
并且配置了全局拦截器进行 holder.remove()。
,如果有配件全局拦截释放的话那就没必要再释放了啊。
并且配置了全局拦截器进行 holder.remove()。
,如果有配件全局拦截释放的话那就没必要再释放了啊。
那个 Interceptor 应该只是 remove() 了当前线程的 holder 吧?异步 handler 是在 WxMpMessageRouter.executorService 里执行的,子线程执行完后应该不触发 Interceptor ?
并且配置了全局拦截器进行 holder.remove()。
,如果有配件全局拦截释放的话那就没必要再释放了啊。那个 Interceptor 应该只是 remove() 了当前线程的 holder 吧?异步 handler 是在 WxMpMessageRouter.executorService 里执行的,子线程执行完后应该不触发 Interceptor ?
既然你在子线程赋值了holder,不就是想用这个吗?只要用了不就会触发你的全局拦截器,然后remove掉子线程中的holder,但是比较好奇你的全局拦截器是怎么做的?在哪个过程拦截的,如果执行多个sql的话,会怎么remove?
是不是我理解错了,这个拦截器不是mybatis的拦截器,而是spring的,拦截整个请求完成后remove,如果是这样的话子线程就需要手动来remove了, 无法触发。
并且配置了全局拦截器进行 holder.remove()。
,如果有配件全局拦截释放的话那就没必要再释放了啊。那个 Interceptor 应该只是 remove() 了当前线程的 holder 吧?异步 handler 是在 WxMpMessageRouter.executorService 里执行的,子线程执行完后应该不触发 Interceptor ?
既然你在子线程赋值了holder,不就是想用这个吗?只要用了不就会触发你的全局拦截器,然后remove掉子线程中的holder,但是比较好奇你的全局拦截器是怎么做的?在哪个过程拦截的,如果执行多个sql的话,会怎么remove?
是不是我理解错了,这个拦截器不是mybatis的拦截器,而是spring的,拦截整个请求完成后remove,如果是这样的话子线程就需要手动来remove了, 无法触发。
对的,是Spring的拦截器 ,如果写mybatis的拦截器意思是自定义插件吗?
现在项目中是根据 APPID 在数据库中查询出 tenant_id,WxMpMessageRouter 的第一个 rule 是