Spring Modules 0.4 released
Dear Spring Community,
I am pleased to announce that Spring Modules (SM) 0.4 has been released. Downloads | Docs (Html , PDF) | JavaDocs
Released less then 1 month after 0.3, the new version contains the following notable features:
- Validation Module - graduated from sandbox. It has gone through some major changes and several long standing bugs have been fixed. Reference documentation was also added.
- JavaSpaces Module - a new module that adds Spring-style support (like template, callback and transaction manager) for JavaSpaces/Jini environments. Besides the generic API support, it contains a dedicated subpackage for GigaSpaces JavaSpaces implementation. The module is fully documented.
- jBPM Module - has been documented.
See our changelog for more information.
The full roadmap can be found at:
The next version (0.5) is scheduled for July and will continue to add new features to the existing modules as well as aligning with Spring 2.0.
We are still looking to recruit more developers to work on more modules and any feedback on new or existing features will be much appreciated.
Upgrading to Commons Validator from Spring Modules 0.4
Excellent work Costin and team! I wrote up what I needed to do to upgrade Commons Validator's support to 0.4.
Documentation for Partial Page Validation is misleading
First and foremost, thanks for all the hard work in getting out these releases to Spring Modules. Moreover, I'm glad to see that some work is being done again on the validation support.
I just took a quick glance at the newly added support for partial page validation, section 11.1.5. Partial Bean Validation Support. Here's an excerpt from the documentation:
I have to strongly disagree with the first sentence. The first approach mentioned is in fact not acceptable, since it is inherently not thread-safe. The proposed configuration has potential for race conditions and unexpected behavior as soon as you have more than one concurrent user, which is likely the case for production environments.
Both approaches are acceptable and have their pros and cons. The first makes the application context configuration less verbose but at the same time changes the runtime state of the validators in each request. The second involves a bit more configuration but the runtime state of the validator remains unchanged.
I would therefore recommend that you not even mention the first configuration as acceptable. At the very least, I would make sure to point out to developers that it is not thread-safe. Merely stating that it "changes the runtime state of the validators in each request" is IMHO insufficient to convey the severity of the concurrency issue for newbies.
The reason I jumped on this issue right off the bat is that I put a great deal of thought into the same subject. You might have noticed another post from me on the topic of declarative wizard-style validation. Interestingly enough I ran into the same concurrency issue and solved it with the use of a ThreadLocal. Perhaps we can find some synergies between Spring Modules 0.4's support for partial page validation and the work I did on WizardValidators. ;)
On that note...
p.s. Costin and Uri, let me know if you'd like to discuss any of this on the developers mailing list or elsewhere. And here's the link to my post on the same topic as a reference: http://forum.springframework.org/sho...6&postcount=10
Synergies between Spring Modules 0.4 and Wizard Validation 0.2
You're welcome! :)
Originally Posted by uboness
And like I mentioned before, I really think we should try to find synergies between your work and mine. Whereas yours is specific to the page support in commons validator, my work focuses on a more generic approach to wizard-style validation. Thus, it would make sense to combine our approaches and have your page-specific code extend/implement my WizardValidator / activeValidationGroup concept. Then we could cover declarative wizard-style validation for multiple implementations using a single abstraction.
What do you think? Shall we try to discuss these topics on a private level?
Let me know.
How do I get MOD-106 included in the .5 release?
How do I get MOD-106 (http://opensource.atlassian.com/proj...browse/MOD-106) included in the .5 release?