|
From: | Martin Sevigny |
Subject: | Re: [sdx-users] Problème hsql |
Date: | Wed, 12 May 2004 08:11:00 +0200 |
User-agent: | Mozilla Thunderbird 0.6 (Windows/20040502) |
Bonjour,
Dans une installation sdx nous avons deux serveurs distincts qui accèdent tous les deux à un seul jeu de fichiers (toute l'application sdx, index et bases hsql). Nous venons de passer à la dernière version officielle et, sur une des deux machines (l'une ou l'autre, apparemment au hasard selon les redémarrages) on ne peut pas afficher les documents parce que la base hsql ne peut pas être lue. Sur l'autre machine il n'y a pas d'erreur.
HSQL est utilisé (par défaut) pour stocker des données internes à SDX. Et HSQL, tel qu'on l'utilise, ne permet pas plusieurs accès concurrents... Ayant deux appplications sur le même jeu de fichiers (intéressant comme setup!), c'est exactement ce qui se passe.
Eventuellement, il faudrait pouvoir mettre un readonly à SDX et ainsi éviter cela, mais pour l'instant il y a une autre solution...
SDX permet d'utiliser un autre SGBD pour ces informations... Par exemple MySQL. Dans le application.xconf, il faut utiliser ceci:
<sdx:application><sdx:database type="MYSQL" dsi="une source de données définie dans le cocoon.xconf"/>
(à vérifier, je ne suis pas certain de cette syntaxe, mais je pense que c'est cela)
Il faut bien sûr redémarrer et surtout réindexer. SDX se charge du reste, les données seront donc dans MySQL et à ce moment une utilisation concurrente devrait fonctionner sans problème.
Pour éviter de réindexer, il est possible de copier les données de la base HSQL vers MySQL. Un export puis import devrait marcher. Un peu de bricolage mais pas tant que ça...
Martin Sévigny
[Prev in Thread] | Current Thread | [Next in Thread] |