Olivier Billard wrote:
<snip/>
PS : It reminds me that the excalibur cache component seems to be dead...
This should be clarified a little. There is I think an excalibur Cache project that I don't know anything about.
The cache is still on their online API, but no more on the CVS...
But Cocoon's Cache is just a thin wrapper around the Excalibur Store project which we do use and is not dead. It started out in Cocoon's cvs but moved to excalibur because it was judged to have general usefulness. Not sure if this change was in effect at 2.0.4 or not.
... that did the excalibur cache component ?
Sorry, I don't quite understand what you mean here.
I understand now, but I thought that the Cocoon cache component went to excalibur do be the Excalibur Cache component... But it is not the same, right ?
There are four
things to keep straight:
1) Cocoon's Cache which is not related to Excalibur's Cache as far as I know in any way.
... and which is not, I think, as complete as the "dead" excalibur cache component, as far as I see in the avalon API.
2) Cocoon's Cache which is an abstraction wrapping the following two items from the Excalibur Store project. It is a component not declared normally in cocoon.xconf but only in cocoon.roles.
3) Excalibur's TransientStore, which in Cocoon is an in memory most recently used Store implementation. It is declared in cocoon.xconf
4) Excalibur's PersistentStore which takes the overflow from #3. Also declared in cocoon.xconf and tied to the TransientStore with its parameter use-persistent-store. It is currently a Jisp-indexed file system store.
As you noted, because of the possible actions which can currently totally clear #3 and 4, you would want to define a totally separate pair of Transient and Persistent Stores. The problem is that with Avalon components, the ROLE normally uniquely identifies a component and you may find a conflict occurring unless you override one of the stores (or both) to define unique ROLEs.
My personal opinion is that you'd be better off looking into one of the more full featured Object persistence projects like Hibernate or OJB. I don't know if you are wanting to avoid a database behind this, but you may be able to find a project that enables filesystem storage. The excalibur Store is not meant to compete with those.
The fact is that I'm not the project leader, and so I can't decide easily which implementation to use...
I adopted for now an hybrid solution (database (+ custom cache if performances are not here)), but I'll see if I could use Hibernate.
Thanks very much for the explanation, Geoff.
-- Olivier
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
