现在GridFS文件集合的md5
属性已经过时,不需要驱动程序来计算它,所以我想禁用它以留出几毫秒的时间。。。
MongoDB Java驱动程序确实在GridFSBucketImpl
中提供了一个选项disableMD5
,但由于我使用的是Spring Boot的GridFsTemplate
(Spring data MongoDB 2.1.2.REASE(,我无法直接访问它。GridFsTemplate
有一个方法getGridFs()
,它返回为当前数据库和bucket名称配置的GridFSBucket
,但不幸的是,这个方法是私有的,所以我无法覆盖它。
那么我有什么选择呢?我必须覆盖所有GridFsTemplate
吗?我是不是错过了某个简单的场景?我应该向Spring提交功能请求吗?
Update很明显,GridFsTemplate
不是要扩展的(尽管只需要getGridFs
和几个字段就可以得到保护(,所以我最终创建了自己的CustomGridFsTemplate
,这几乎是GridFsTemplate
的精确副本,只是我在getGridFs
中调用了GridFSBucket.withDisableMD5(true)
。
我对此不太满意,但它有效,我现在看不到更好的选择。
更新2我已经提交了一个Spring功能请求,请投票支持!https://jira.spring.io/browse/DATAMONGO-2165
目前没有更好的方法。看起来您提交了一个票证来扩展GridFsTemplate
以允许自定义。