Это появляется из-за библиотеки GMongo и того, как она исправляет объект DBCollection
для обработки передачи объектов Map
в метод insert
и преобразует их. Предполагается, что все аргументы метода insert
являются Map
объектами, и затем попытается получить свойство value
из Map.Entry
.
Глядя на источник Patcher.groovy из библиотеки GMongo , вы увидите функцию _convert()
, которая пытается это сделать. Это похоже на разветвление проекта Github с проверкой типа аргумента (необходимо проверить, является ли это WriteConcern
или проверить, действительно ли это Map
перед передачей на _converAllCharSeqToString
).
EDIT:
Я создал запрос на получение на Github для соответствующего изменения кода, но, как и во всем Groovy, исправление класса также может помочь. Вы можете «пропатчить» класс WriteConcern
в вашем BootStrap.groovy
, чтобы иметь метод getValue
, который позволит вам передать параметр в:
def init = { servletContext ->
com.mongodb.WriteConcern.metaClass.getValue = { null }
}