я использую Spring 3.2 M1 и Hibernate 3.NoSuchMessageException при использовании пользовательских сообщений преобразователя вдоль форматтеров
Я работал с форматтеров форматировать POJO, (которые, случается, Hibernate объекты отображения) в их строковое представление. Это было очень удобно, поскольку это работало по-другому, позволяя мне привязывать значения строк к объектам. Конфигурации в XML был:
<mvc:annotation-driven conversion-service="conversionService" />
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="formatters">
<set>
<bean class="aa.XFormatter" />
<bean class="aa.YFormatter" />
<bean class="bb.ZFormatter" />
</set>
</property>
<property name="formatterRegistrars">
<set>
<bean class="aa.DateFormatterRegistrar" />
</set>
</property>
</bean>
Все работало отлично, пока я не нужно, чтобы добавить пользовательский объект картографа (HibernateAwareObjectMapper использованием ДЖЕКСОНА-модуль-спящий режим), чтобы избавиться от ленивых проблем загрузки с Hibernate POJOs при jsonifiying ответов с заднего конца. Я добавил это к вышеуказанному коду:
<mvc:annotation-driven conversion-service="conversionService">
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="cc.HibernateAwareObjectMapper"></bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
Это привело к устранению проблемы с ленивой загрузкой. Но при вызове Форматирующие (при связывании строки в дату ех) новая ошибка всплыла:
org.springframework.context.NoSuchMessageException: No message found under code 'fieldOfX.depended' for locale 'en_US'.
at org.springframework.context.support.AbstractMessageSource.getMessage(AbstractMessageSource.java:161)...
fieldOfX является поле типа Date, который был прекрасно отформатированные из его строковое представление его Date/объекта представления перед тем добавление настраиваемого объекта mapper. И мне любопытно узнать, что делает от Подставка для.
Другая странная вещь для меня заключается в том, что форматирование с объекта на строку, кажется, работает нормально.
Насколько я понимаю, форматировщики всего лишь специальные преобразователи. И преобразователи сообщений - это всего лишь вид конвертеров. Но я начинаю понимать, что ошибаюсь в этом.
Так что я делаю/понимаю неправильно? Любая помощь приветствуется.
Непосредственно связано с вопросом - знаете ли вы, что вы используете выпуск MILESTONE (нестабильный)? Вы должны перейти на последнюю стабильную версию 3.2.3.RELEASE. –
Спасибо, что объяснили, что M означает Milestone. Я знал, что мне нужно обновиться, но слово «нестабильное» должно сделать все быстро. – Mina