MessageSource Spring:NotSerializableException

问题描述 投票:0回答:1

我正在使用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可以指导我如何解决这个问题。

java spring spring-mvc
1个回答
0
投票

根据您在此处提供的信息,问题在于您的ReloadableResourceBundleMessageSource类,因为它没有实现Serializable接口。

这是由你的class MyClass implements Serializable引起的,因为Serializable类中的变量应该是Serializabletransient

所以根据你的类,你的ReloadableResourceBundleMessageSource类应该实现Serializable接口或在你的MyClass中,变量应该如下

@Autowired(required=true)
private transient MessageSource messages;

希望能帮助到你

© www.soinside.com 2019 - 2024. All rights reserved.