首页 > 解决方案 > 如何在 Spring Boot 中禁用 GridFS MD5 计算?

问题描述

现在md5GridFS 文件集合的属性已经过时,驱动程序不需要计算它,所以我想禁用它以节省几毫秒的时间......

MongoDB Java 驱动程序确实提供了一个选项disableMD5GridFSBucketImpl但由于我使用的是 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

标签: mongodbspring-bootspring-dataspring-data-mongodbgridfs

解决方案


目前没有更好的办法。看起来您提交了一张票以扩展GridFsTemplate以允许自定义。


推荐阅读