Удобная обработка исключений конверсии (пропуск / игнорирование) с использованием данных Mongo Spring - PullRequest
0 голосов
/ 20 марта 2012

Интересно, можно ли как-то мягко обработать ошибки преобразования?

Учитывая запрос, который возвращает список [ModelObject]

Если получено 5 объектов DBObject, один из них генерирует исключение ConversionException при преобразовании в ModelObject, есть ли способ вернуть 4 конвертируемых объекта и обеспечить ловушку для ошибки преобразования 1?

1 Ответ

1 голос
/ 14 января 2013

Немного поздно, но этот ответ может помочь в поиске кого-то другого

Я согласен, что было бы неплохо сделать это на основе политики - в настоящий момент, если вы получаете одну ошибку преобразования, вы не получаетесписок на всех.Я думаю, что есть случаи, когда это действительно необходимо.

Однако, поскольку вы не можете этого сделать, вам нужно зарегистрировать пользовательский конвертер для вашего ModelObject, который конвертирует снисходительно ...

public class DBObjectToModelObjectConverter implements Converter<DBObject,ModelObject>{

    public ModelObject convert(DBObject s) {
        ... Read from the DBObject into your ModelObject and work around the bad data
    }
}

и затем зарегистрируйте это как пользовательский конвертер в ваших определениях бинов.Что-то вроде:

<bean id="lenientModelReadConverter" class="com.my.DBObjectToModelObjectConverter"/>

<mongo:custom-converters>
   <mongo:converter ref="lenientModelReadConverter"/>
</mongo:custom-converters>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...