ОК, игнорируя мои убеждения, показанные в моем предыдущем посте, я попробовал весенний рабочий процесс, только чтобы узнать, что я был прав. Получить исходники и сборку не так сложно, они используют svn, ant и ivy в качестве менеджера хранилища.
Заставить это работать - это другая история. Я взял образцы источников, поместил их в новый проект. В этот момент мне пришлось переименовать все импортные файлы, так как они были созданы для тестовой среды. Это легко сделать с помощью IDE в классах, но вы также должны переименовать их в контекстных XML-файлах Spring. В дальнейшем он начинает выглядеть плохо, когда вы попытаетесь запустить проект. Сначала вы получаете исключение NullPointerException из-за следующих строк:
public final void afterPropertiesSet() throws Exception {
if (this.flowInstanceDescriptorPersisters == null) {
this.flowInstanceDescriptorPersisters.put(DEFAULT_PERSISTER, new DefaultFlowInstanceDescriptorPersister());
}
}
Я просто создал новый HashMap, перестроил проект и дал ему еще одну попытку. Теперь в Assert произойдет сбой, если вы не включили весеннюю защиту. Существует скрытая зависимость (потому что используется отражение). Добавлена библиотека и снова запустил. Я получил еще один сбой Assert, и когда я посмотрел это, я понял, что образцы даже не должны работать. Метод намеренно возвращает ноль, и не должен. Я пошел к интерфейсу, конечно, без javadoc, но я подозревал, что он должен возвращать из его имени, поэтому я поместил значение жесткого кода. На этом этапе он генерирует и работает, но он не работает, он должен (по крайней мере, я так думаю, документов нет) выполнить переход, но поток остается неизменным после вызова executeTransition.
Итак, вот оно. Пока не пытайтесь.