现在GridFS文件集合的md5
属性已经过时,驱动程序不需要计算它,所以我想禁用它以节省几毫秒的时间……
Spring驱动程序在GridFSBucketImpl
中提供了一个选项disableMD5
,但由于我使用的是spring Boot的GridFsTemplate
(spring-data-MongoDB2.1.2.RELEASE),所以无法直接访问它。GridFsTemplate
有一个getGridFs()
方法,它返回为当前数据库和存储桶名称配置的GridFSBucket
,但不幸的是,这个方法是私有的,所以我不能覆盖它。
那么我有什么选择呢?我必须覆盖所有的GridFsTemplate
吗?我是不是错过了什么简单的设置?我应该向Spring提交一个特性请求吗?
更新显然GridFsTemplate
不是用来扩展的(尽管它只需要getGridFs
和几个要保护的字段),所以我最终创建了我自己的CustomGridFsTemplate
,它几乎是GridFsTemplate
的副本,只是我在getGridFs
中调用了GridFSBucket.withDisableMD5(true)
。
我对此不是很满意,但它是有效的,我现在看不到更好的选择。
更新2我已经提交了一个春季功能请求,请投票支持它!https://jira.spring.io/browse/DATAMONGO-2165
发布于 2018-12-12 17:40:23
目前还没有更好的方法。看起来你申请了a ticket来扩展GridFsTemplate
以允许定制。
https://stackoverflow.com/questions/53728853
复制相似问题