如何在Spring Boot中禁用GridFS MD5计算?

时间:2018-12-11 16:55:42

标签: mongodb spring-boot spring-data spring-data-mongodb gridfs

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

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

1 个答案:

答案 0 :(得分:1)

目前没有更好的方法。看来您提交了a ticket来扩展GridFsTemplate以允许自定义。