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:[EMAIL PROTECTED]
Autres commandes : mailto:[EMAIL PROTECTED]