春季-JSF bean和可序列化问题
我对使用Spring托管服务的JSF Bean有问题.我收到一个错误消息,说JSF bean中使用的spring bean无法序列化.
我无法使该服务可序列化,因为它使用的是JdbcTemplate,而该JdbcTemplate本身是不可序列化的.而且,对具有应用程序范围的Spring bean进行序列化根本没有任何意义,所以我不明白为什么有人的代码试图对其进行序列化. 我已经使用Spring服务与JSF项目一起工作,并且没有此类问题,因此这种合作必不可少.但是,该项目是基于示例项目从头开始构建的,因此spring-JSF合作的配置肯定有问题,但是我不知道在哪里搜索. Spring for JSF的配置为:
如何解决这个问题? 最佳答案
无法避免JSF序列化错误.甚至ApplicationScoped Bean也被序列化(当它们注入到其他Bean中时).
但是解决方案是在春季进行的.您必须使用作用域代理. 要将bean包装到可序列化代理中,您必须添加到bean主体中:
必须添加spring aop命名空间和spring-aop依赖项.
就是这样!在bean中将是可序列化元素,该代理将在反序列化时从Spring上下文重新加载bean. 这里唯一的迷惑是我必须创建cglib class-level-proxy. JRE代理无法正常工作,因为在反序列化期间该接口不可用…我不完全理解为什么,但是至少我有可行的解决方案. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |