[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [sdx-developers] Pb Moisson SDX2.3
From: |
Pierrick Brihaye |
Subject: |
Re: [sdx-developers] Pb Moisson SDX2.3 |
Date: |
Wed, 02 Mar 2005 09:57:28 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.6) Gecko/20040113 |
Re,
Pierrick Brihaye a écrit :
Je suis en train de traquer la logiue de
acquireSynchronizedXMLConsumer() car je soupçonne également des
problèmes de ce côté là.
En effet, je n'ai pas vu les release correspondants... mais je n'ai pas
dit qu'il n'y en avait pas.
Je suis allé faire un tour dans :
package fr.gouv.culture.util.apache.cocoon.xml;
AbstractSynchronizedXMLPipe
et je vois :
protected void acquireSynchronizedXMLConsumer() throws SAXException {
if (this.synchronizedXmlConsumer != null &&
!this.synchronizedXmlConsumerAcquired) {
try {
this.synchronizedXmlConsumer.acquire();
this.synchronizedXmlConsumerAcquired = true;
} catch (InterruptedException e) {
throw new SAXException(e.getMessage(), e);
}
}
}
Ne faudrait-il pas synchroniser ici ? Que se passerait-il si on avait
une acquisition... non suivie (provisoirement certes) du positionnement
du drapeau... qui est important pour le bon déroulement du code (j'y
viens de suite).
Le code fait appel à de nombreux tests de ce type :
if (this.isAcquired())
Très bien. Mais... si le drapeau est faux, rien ne se passe. Or, il me
paraît important de lancer une exception au cas où on chercherait à
utiliser ce Producer sans l'avoir acquis auparavant.
Mêmes remarques pour le AbstractSynchronizedXMLConsumer.
A+
--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden
+33 (0)2 99 29 67 78