Spring Workflow es una pequeña solución dentro del ecosistema Spring que permite la programación de workflows de una forma muy sencilla y poco intrusiva a través de Spring.
Es un producto aún en incubación, por lo que su API puede cambiar y aún tiene que completarse, pero puede resultar interesante en algunos escenarios y para usarse de base para crear nuestro miniworkflow.
Aunque algo obsoleto también es interesante este artículo sobre cómo crear un workflow con Spring.
En Spring Workflow todos los componentes del Workflow son beans de Spring y los estados y transiciones por tanto pueden usar las capacidades de Spring.
Permite trabajar con anotaciones o en el modelo tradicional (orquestación en XML de Spring).
Podéis acceder a sus fuentes aquí, para haceros una idea de cómo funciona lo mejor es ver el ejemplo incluido en los Tests, veamos el ejemplo basado en anotaciones.
· El XML de Spring con la definición del flujo:
· La clase que lanza el flujo:
Lo que se hace aquí es:
Crear el ApplicationContext
Crear el FlowSession de Spring Workflow
Crear una instancia del flujo con identificador de flujo (flowId) de nombre main
Sobre la instancia lanzar la transición “1”
· La clase descriptora del Flujo es MainFlow, cuya clase descriptora es la clase X:
![]()
La clase X implementa FlowInstanceDescriptor y define una serie de métodos:
· El State que se arranca al crear el flujo: StateOne:
· Y el State siguiente:






Deja un comentario