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