« Cocoon Portal Conformance Tests | Main | Song to Say Goodbye »
February 23, 2006
Cocoon is based on Spring
In the last days I removed the new Avalon based container from Cocoon 2.2 and replaced it with Spring. So, the ECM++ I developed some months ago is now removed again without ever going into a release; but the work has not been a waste of time; it opened up Cocoon to implement some new features like includes for configuration etc. and all of these new features are still there with the new Spring based core.
The new container for Cocoon supports the Avalon style of configuration and the Avalon lifecycle interfaces. This means no changes for your own code or configuration is required. Everything stays the same. The advantages are that the component container is no longer the deal of Cocoon, we just use an existing implementation. And in this case with Spring we use the best/most-known container available. This means you can directly use Spring with all its benefits for your Cocoon applications while at the same time old applications work without any changes.
In addition, you can just mix your components: simple pojos with Avalon based components and they can depend on each other without any problems. You have an own application context for each sitemap and they build a hierarchy of application contexts. This allows you to define your components/beans on a per sitemap base.
With using Spring we decreased the learning curve for Cocoon a little bit as everyone is familiar with Spring anyway. In addition we simplified the logging for Cocoon and removed the direct use of Avalon Logkit and replaced it with Log4j. It is still possible to use your own logging if required.
Posted by cziegeler at February 23, 2006 04:01 PM