cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Frédéric Glorieux <frederic.glori...@ajlsm.com>
Subject Re: XMLDBSource, cacheable + questions
Date Thu, 22 Dec 2005 13:41:15 GMT

> Bonjour Frédéric,

Bonjour,

Bravo à Anyware pour la réactivité !

> Pour  les   requêtes  effectuées  en  XQuery,   tu  peux  utiliser
> XQueryGenerator qui  est cacheable avec un  paramètre optionnel de
> durée de validité.

Je le cherchais dans les sources Cocoon...
Donc, dans Exist, c'est déjà ça, new ExpiresValidity().

 > Attention à  getLastModified(), cela  n'est pas  satisfaisant pour
 > une XQuery car pour calculer la date de modification on est obligé
 > de  rééxecuter la  XQuery.

Vu la quantité d'informations qu'ils maintiennent, il peuvent 
probablement faire mieux. J'ai poussé sur la liste Exist en espérant un 
commit pour avoir un getLastModified() au niveau d'une collection.

En ce cas, si la collection de contexte d'une xquery n'a pas changé, les 
résultats seront les mêmes ?

> Là   je   n'ai   pas   trop   compris,   pourquoi   as-tu   besoin
> de   récupérer   user  et   password   alors   qu'ils  sont   déjà
> configurés    correctement   dans    cocoon.xconf   sur    <driver
> class="org.exist.xmldb.DatabaseImpl"...>?

Dans le contexte Sitemap, inutile, tout fonctionnne.

Cependant, pour certaines opérations, il est nécessaire de pouvoir 
récupérer en JAVA une Collection xmldb (pour par exemple un service 
UserManagement)

Comme XMLDBSource à tout le nécessaire pour récupérer une collection, 
selon les informations qu'aura autorisé un administrateur dans un 
cocoon.xconf, et ne sachant pas lire en JAVA un cocoon.xconf, j'ai 
trouvé cette solution pratique (pour être franc, j'ai seulement 
recompilé avec "public" au lieu de "protected")

 > Attention  aussi quand  l'application
 > accède à eXist par le réseau, getLastModified() a alors le coût de
 > transport et le coût de consultation  de la base de données XML, y
 > compris quand  tu accèdes  simplement à  un document  sans requête
 > XQuery ou XPath.

En effet, je n'y avais pas pensé. Je fonctionnne en local, mais s'il 
fallait être générique, il faudrait alors un truc du genre aller voir le 
lastModified toutes les secondes s'il s'agit d'une "RemoteCollection".


 >>  *  Faut il  fabriquer un  TimeStampValidity à  chaque fois  que
 >>  getValidity() est appelé ?
 >
 > Oui, cette  méthode n'est appellée  à nouveau que quand  la source
 > n'est plus valide.

OK, donc pour ça c'est bon.

 > En effet  difficile de l'intégrer  à Cocoon  si ça n'est  pas dans
 > l'interface.

Normal.


-- 
Frédéric Glorieux (AJLSM, http://ajlsm.com)

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message