Как отключить расчет GridFS MD5 в Spring Boot? - PullRequest
0 голосов
/ 11 декабря 2018

Теперь, когда атрибут 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

1 Ответ

0 голосов
/ 12 декабря 2018

На данный момент лучшего способа нет.Похоже, вы подали тикет для продления GridFsTemplate, чтобы разрешить настройку.

...