一、该问题的重现步骤是什么?
// @Bean
// public MybatisPlusInterceptor mybatisPlusInterceptor(ObjectProvider<QueryInterceptor[]> queryInterceptors,
// TenantLineInnerInterceptor tenantLineInnerInterceptor,
// MybatisPlusProperties mybatisPlusProperties) {
// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// // 配置租户拦截器
// if (mybatisPlusProperties.getTenantMode()) {
// interceptor.addInnerInterceptor(tenantLineInnerInterceptor);
// }
// // 配置分页拦截器
// BladePaginationInterceptor paginationInterceptor = new BladePaginationInterceptor();
// // 配置自定义查询拦截器
// QueryInterceptor[] queryInterceptorArray = queryInterceptors.getIfAvailable();
// if (ObjectUtil.isNotEmpty(queryInterceptorArray)) {
// assert queryInterceptorArray != null;
// AnnotationAwareOrderComparator.sort(queryInterceptorArray);
// paginationInterceptor.setQueryInterceptors(queryInterceptorArray);
// }
// paginationInterceptor.setMaxLimit(mybatisPlusProperties.getPageLimit());
// paginationInterceptor.setOverflow(mybatisPlusProperties.getOverflow());
// paginationInterceptor.setOptimizeJoin(mybatisPlusProperties.getOptimizeJoin());
// // 配置分页拦截器
// interceptor.addInnerInterceptor(paginationInterceptor);
// // 配置乐观锁拦截器
// interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
// return interceptor;
// }
加入 乐观锁拦截器之后 数据审计功能 的 hander 就失效了
二、你期待的结果是什么?实际看到的又是什么?
希望给出 解决办法
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
boot 版本 更新了4.6 之后加入数据审计功能
四、请提供详细的错误堆栈信息,这很重要。
没有错误信息 就是 数据审计的hander 不进入了
五、若有更多详细信息,请在下面提供。
没遇到你说的问题
另外审计组件底层用的mybatis-plus的数据变动插件,如果他不支持的场景,那就无法支持:https://baomidou.com/plugins/data-change-recorder/
MybatisPlusInterceptor (ObjectProvider<QueryInterceptor[]> queryInterceptors, TenantLineInnerInterceptor tenantLineInnerInterceptor, MybatisPlusProperties mybatisPlusProperties) { MybatisPlusInterceptor interceptor = MybatisPlusInterceptor(); (mybatisPlusProperties.getTenantMode()) { interceptor.addInnerInterceptor(tenantLineInnerInterceptor); } BladePaginationInterceptor paginationInterceptor = BladePaginationInterceptor(); QueryInterceptor[] queryInterceptorArray = queryInterceptors.getIfAvailable(); (ObjectUtil.(queryInterceptorArray)) { queryInterceptorArray != ; AnnotationAwareOrderComparator.(queryInterceptorArray); paginationInterceptor.setQueryInterceptors(queryInterceptorArray); } paginationInterceptor.setMaxLimit(mybatisPlusProperties.getPageLimit()); paginationInterceptor.setOverflow(mybatisPlusProperties.getOverflow()); paginationInterceptor.setOptimizeJoin(mybatisPlusProperties.getOptimizeJoin()); interceptor.addInnerInterceptor(paginationInterceptor); interceptor.addInnerInterceptor(OptimisticLockerInnerInterceptor()); interceptor; } 这段代码 是官网给的例子,我如果注释掉了 这段代码 数据审计 就会调用 hander 否则 就不会调用 我这都复现这个步骤了
仔细看上面截图,对比少什么东西就加上去
扫一扫访问 Blade技术社区 移动端