将Spring Webflow从1.0.6升级到2.3

时间:2012-03-31 08:50:31

标签: java spring spring-webflow

我们有一个基于Spring 2.5.6和Webflow 2.3的大型网络应用程序。现在我们要将Spring升级到3,将Webflow升级到2.3。升级Spring非常轻松,但我们在另一个lib上遇到了一些问题。更改版本后,我们甚至无法使用maven构建我们的应用程序。存在很大差异,例如:包名称,方法可见性修饰符,甚至是已删除的方法,我们在1.0.6中使用它们。 你现在有些指南,我们应该如何更换改变的方法?我在Spring网站上找到了类似的东西,但它对我来说并不是很有用。 也许有人这样做,可以给我们一些提示? 感谢您的帮助:)

2 个答案:

答案 0 :(得分:3)

是的,这是可能的。仔细阅读Spring文档以了解该版本。您将需要使用1.0.X&的参考文档。 2.3.X因为这会有所帮助。请特别注意升级指南中建议的以下更改。

步骤1.我编写了一个小工具,扩展了下面的升级程序,以递归方式查找我们所有的网络流程,并将标记转换为符合2.3.X标准:

java org.springframework.webflow.upgrade.WebFlowUpgrader flow-to-upgrade.xml

此类可在WebFlow jar源中找到。

步骤2.我更新了架构:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:webflow="http://www.springframework.org/schema/webflow-config"
       xsi:schemaLocation="
           http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/webflow-config
           http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.3.xsd">

步骤3.确认flowExecutor标记已更新为2.3合规性:

<webflow:flow-executor id="flowExecutor" />

步骤4.更新基于静态路径的声明的flowRegistry并确保标记符合性:

<webflow:flow-registry id="flowRegistry">
    <webflow:flow-location path="/WEB-INF/hotels/booking/booking.xml" />
</webflow:flow-registry>

步骤5.更改FlowController类以匹配新的Web Flow jar: 已从org.springframework.webflow.executor.mvc.FlowController更改,现在为org.springframework.webflow.mvc.servlet.FlowController

步骤6.更新FlowController bean类引用。添加WebFlow1FlowUrlHandler可确保Web Flow 1.0.x流程向后兼容新的Web Flow 2 jar。

<bean name="/pos.htm" class="org.springframework.webflow.mvc.servlet.FlowController">
    <property name="flowExecutor" ref="flowExecutor" />
    <property name="flowUrlHandler">
        <bean class="org.springframework.webflow.context.servlet.WebFlow1FlowUrlHandler" />
    </property>
</bean>

http://docs.spring.io/spring-webflow/docs/2.3.x/reference/htmlsingle/#upgrade-guide

http://static.springsource.org/spring-webflow/docs/1.0.1/reference/index.html

答案 1 :(得分:0)

这里很难给出具体的建议。升级总是很难的。首先,我建议您阅读有关Webflow文档升级的部分,例如从http://static.springsource.org/spring-webflow/docs/2.3.x/reference/pdf/spring-webflow-reference.pdf(第16章 - 从1.0升级)中执行此操作,您可以看到自1.0版以来发生了哪些变化。然后您可以决定升级是否合理。祝好运 ! :)