Spring Workflow has now been published.
- Have you tried it yet? For what kind of scenario?
- What is your impression? How do you find it stacks up against other workflow libs?
- Found any good docs or tutorials?
Spring Workflow has now been published.
I don't think it's a good idea to try it yet, it's just a release to proove the concept. First of all you have to manually build your library, after that, leran how to use it with no example or documentation, just using the scarcely documented code and test code. And when you have an idea about it you realise it can't do very mutch right now.
OK, ignoring my beliefs shown in my previous post I did try spring workflow, only to find out that I was right. Getting the sources and building is not that hard, they use svn, ant and ivy as repository manager.
Making it work is another story. I took the sample sources, an placed them in a new project. At this poit I had to rename all imports since they were built for test eviron ment i guess. This is easy with help from the IDE in classes, but you also have to rename them in spring's XML context files. Further on, it starts to look bad once you try to run the project. First you get a NullPointerException, because of the following lines :
public final void afterPropertiesSet() throws Exception {
if (this.flowInstanceDescriptorPersisters == null) {
this.flowInstanceDescriptorPersisters.put(DEFAULT_PERSISTER, new DefaultFlowInstanceDescriptorPersister());
}
}
I simply created a new HashMap, rebuit the project and gave it another try. Now it will fail at an Assert if you did not include spring security. There is a hidded dependency (because reflection is used). Added the lib. and ran it again. I got another Assert fail, and when I looked that up I realised the samples are not even supposed to work. A method intentionally returns null and it shouldn't. I went to the interface, of cource, no javadoc, but i suspected what it should return from it's name, so i placed a hardcode value. At this point it biulds and it runs but it does not work, it's supposed to (at least i think it is, there are no docs.) do a transition, but the flow remains unchanged after the performTransition call.
So there you have it. Dont try it just yet.
There is a presentation on parleys.com:
Spring & Spring MVC in production
from authors of spring workflow: cakesolutions.net
You might take a look at the presentation to find out how they use it in production at http://www.ukinvest.gov.uk/