我们正在尝试在现有项目中将 spring 版本从 4.2 升级到 5。在这个项目中,我们有 apache Orchestra 依赖项,我们使用它来创建自定义对话范围。进行版本更改后,我们可以启动应用程序,但我们在使用自定义范围的地方遇到了一些错误。请参阅下面的异常:
2017-12-13 15:36:58,169 INFO [][as] JBAS015874: JBoss EAP 6.4.9.GA (AS 7.5.9.Final-redhat-2) 在 69940 毫秒内启动 - 启动了 753 个服务中的 696 个(84 个服务是懒惰、被动或按需)2017-12-13 15:37:04,421 错误 [][AbstractSpringOrchestraScope] 访问 bean 'scopedTarget.navigationBean' 时出现异常 2017-12-13 15:37:04,422 严重 [][应用程序] 错误渲染视图[//login/login.xhtml]: javax.el.ELException: /templates/baseLayout.xhtml @24,54 render="#{navigationBean.loggingJSErrors}": org.springframework.beans.factory.BeanCreationException: 错误在文件 [C:\dev\workspaces********Web\target\classes\com********\managedbeans\navigation\NavigationBean.class 中创建名称为“scopedTarget.navigationBean”的 bean ]: bean初始化失败;嵌套异常是 java.lang.IllegalStateException:
我们的服务器是 JBoss EAP 6.4.9.GA。
春季版:5.0.2.RELEASE
myfaces-orchestra-core20 1.5 版
这就是我们定义自定义范围的方式:
<bean class="org.springframework.beans.factory.config.CustomScopeConfigurer">
<property name="scopes">
<map>
<entry key="conversation.manual">
<bean
class="org.apache.myfaces.orchestra.conversation.spring.SpringConversationScope" >
<!-- No timeout value should be specified as this is not extended through
activity -->
</bean>
</entry>
<entry key="conversation.access">
<bean
class="org.apache.myfaces.orchestra.conversation.spring.SpringConversationScope">
<!-- No timeout value should be specified as this is not extended through
activity -->
<property name="lifetime" value="access" />
</bean>
</entry>
</map>
</property>
</bean>
谢谢