у нас есть большое веб-приложение на основе Spring 2.5.6 и Webflow 2.3.Теперь мы хотим обновить Spring до 3 и Webflow до 2.3.Обновление Spring было довольно безболезненным, но у нас есть некоторые проблемы с другой библиотекой.После изменения версии мы даже не можем создать наше приложение с Maven.Существуют большие различия, например: имена пакетов, модификаторы видимости методов и даже удаленные методы, которые мы используем в 1.0.6.Есть ли у вас какие-то руководства, как мы должны заменить измененные методы?Я нашел что-то подобное на сайте Spring, но это не совсем полезно для меня.Может быть, кто-то делает это и может дать нам несколько советов?Спасибо за помощь:)
Да, это возможно.Внимательно прочитайте весеннюю документацию для релиза.Вам нужно будет использовать справочную документацию для 1.0.X и 2.3.X, поскольку это будет полезно.Обратите особое внимание на следующие изменения в соответствии с рекомендациями руководства по обновлению.
Шаг 1. Я написал небольшой инструмент, расширяющий нижеприведенный апгрейдер, чтобы рекурсивно находить все наши веб-потоки и преобразовывать теги в 2.3.Xсовместимый:
java org.springframework.webflow.upgrade.WebFlowUpgrader flow-to-upgrade.xml
Этот класс находится в источнике jar WebFlow.
Шаг 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 для соответствияновый jar веб-потока: изменен с org.springframework.webflow.executor.mvc.FlowController и теперь org.springframework.webflow.mvc.servlet.FlowController
org.springframework.webflow.executor.mvc.FlowController
org.springframework.webflow.mvc.servlet.FlowController
Шаг 6. Обновите ссылку на класс bean-компонента FlowController.Добавление WebFlow1FlowUrlHandler гарантирует, что потоки Web Flow 1.0.x будут работать обратно совместимыми с новыми jar-файлами Web Flow 2.
<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
Трудно дать здесь конкретные советы.Обновление - это всегда сложная вещь.Прежде всего, я рекомендую вам прочитать раздел об обновлении в документации по веб-потоку, например, здесь http://static.springsource.org/spring-webflow/docs/2.3.x/reference/pdf/spring-webflow-reference.pdf (Глава 16 - Обновление с 1.0). Здесь вы можете увидеть, что изменилось с версии 1.0.Затем вы можете решить, является ли обновление разумным.Удачи !:)