Я использую MessageSource для реализации интернационализации в Spring.
У меня что-то вроде этого.
В моем классе Config:
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
messageSource.setUseCodeAsDefaultMessage(true);
return messageSource;
}
Моя весенняя фасоль
@Component
class MyClass implements Serializable {
@Autowired(required = true)
private MessageSource messages;
}
Когда я запускаю свой проект, я получаю это исключение:
Caused by: java.io.NotSerializableException: org.springframework.context.support.ReloadableResourceBundleMessageSource
Может SomeOne, пожалуйста, посоветует мне, как решить эту проблему.
Можете ли вы вставить полный журнал исключения трассировки стека




Согласно информации, которую вы здесь предоставили, проблема связана с вашим классом ReloadableResourceBundleMessageSource, поскольку он не реализует интерфейс Serializable.
Это вызвано вашим class MyClass implements Serializable, поскольку переменные в классе Serializable должны быть либо Serializable, либо transient.
Итак, в соответствии с вашим классом, либо ваш класс ReloadableResourceBundleMessageSource должен реализовывать интерфейс Serializable, либо в вашем MyClass переменная должна выглядеть следующим образом
@Autowired(required=true)
private transient MessageSource messages;
Надеюсь, это поможет
Взгляните на этот ТАК ответ