mongodb - 如何在 Spring Boot 中禁用 GridFS MD5 计算?
问题描述
现在md5
GridFS 文件集合的属性已经过时,驱动程序不需要计算它,所以我想禁用它以节省几毫秒的时间......
MongoDB Java 驱动程序确实提供了一个选项disableMD5
,GridFSBucketImpl
但由于我使用的是 Spring Boot GridFsTemplate
(spring-data-mongodb 2.1.2.RELEASE),因此我无法直接访问它。GridFsTemplate
有一个getGridFs()
返回GridFSBucket
为当前数据库和存储桶名称配置的方法,但不幸的是,此方法是私有的,因此我无法覆盖它。
那么我的选择是什么?我必须覆盖所有GridFsTemplate
吗?我错过了某个地方的简单设置吗?我应该向 Spring 提交功能请求吗?
更新
显然GridFsTemplate
不是为了扩展(尽管它只需要getGridFs
和几个要保护的字段)所以我最终创建了我自己的CustomGridFsTemplate
,这几乎GridFsTemplate
是我调用GridFSBucket.withDisableMD5(true)
的getGridFs
.
我对此不太满意,但它确实有效,我目前看不到更好的选择。
更新 2 我已提交 Spring 功能请求,请投票!https://jira.spring.io/browse/DATAMONGO-2165
解决方案
目前没有更好的办法。看起来您提交了一张票以扩展GridFsTemplate
以允许自定义。
推荐阅读
- shell - 如何在詹金斯声明管道中使用随机数
- rust - 可以返回多种类型的 Rust 函数?
- chef-infra - EC2:厨师食谱:LoadError:无法加载此类文件--aws-sdk-secretsmanager
- angular - 角度项目中 ng lint 期间未处理的异常
- java - 具有重复值的客户端服务器 Java 应用程序问题
- java - Java 8 并发信号量队列
- vb.net - 当我重新打开它时,它不会存储 Label5 和 TextBox1 的值。在 TextBox1 中,我想在重新打开后显示零值
- android - API 的 GET 函数中的问题,用于执行列表的 seacrh 视图
- android - IllegalStateException:CompositionLocal LocalConfiguration 不存在 Android
- matlab - 抑制 diag() 的向量输入