Page 1 sur 1

Gestion des Thread

MessagePublié: 09 Mars 2010 à 15:57
par seroa
Bonjour à tous,

Comment gérer la synchronisation des agents ? Lorsque le serveur Domino est paramétré sur Enabled pour Run Web Agent.

J'ai un bouton qui lance un agent, si je clique 2 fois dessus, il exécute 2 fois l'agent sans attendre la fin de la première exécution. Donc 2 exécutions en même temps.

Je ne vois pas trop comment gérer ça. Vous avez une idée ?

MessagePublié: 09 Mars 2010 à 15:59
par Michael DELIQUE
salut

en web ?

MessagePublié: 09 Mars 2010 à 16:23
par seroa
oui en web

MessagePublié: 09 Mars 2010 à 16:30
par Michael DELIQUE
Passe par de l'ajax

tant que ton agent n'as pa renvoyé un code de fin ton bouton est grisé

MessagePublié: 09 Mars 2010 à 16:40
par seroa
Ok je vois. Mais si mon appli est multi utilisateur, que deux utilisateurs clique sur le bouton en même temps. Je voudrais que les actions s'exécutent une après l'autre et pas en même temps.
C'est ce qui se passe lorsque le paramètre Run Web Agent est sur Disable sur le serveur.
Sauf qu'actuellement ce paramètre est sur Enabled et je voudrais contourner cela.

MessagePublié: 10 Mars 2010 à 20:43
par Gob0
c'est quoi l'interet de la manoeuvre? parce que 1 agent web à la fois, ca va vite rendre toutes les applis lentes à mourir... :shock:
tes utilisateurs devront prendre un ticket (style "la poste" quoi) pour pouvoir changer de page :mrgreen:

MessagePublié: 11 Mars 2010 à 09:12
par seroa
En fait, j'ai des thread synchronisés dans mes classes Java. Tout va bien si je clique une fois sur le bouton qui lance mon agent, mais si je clique 2 fois, ils se lancent en parallèle et du coup les thread s'exécutent en même temps et c'est ce que je ne souhaite pas.

Si le serveur a l'option Run Web agents and web services concurrently sur "Disabled", pas de problème, et je n'est pas de problèmes de lenteur.

Sauf que sur le serveur est défini sur Enabled pour cette option. Mais peut etre qu'il y'a un moyen de contourner cela ?

MessagePublié: 11 Mars 2010 à 09:26
par Michael DELIQUE
hormis avec du code et des jetons non

MessagePublié: 11 Mars 2010 à 09:56
par amahi
tu c'est c'est quoi un Singleton? et mettre ta classe java synchronized ?

MessagePublié: 11 Mars 2010 à 10:44
par seroa
Ma methode java est déja synchronized. Mes thread sont synchro. Mais si ce meme agent est lancé 2 fois en parallèle, la synchro ne tient plus.

Je vais voir pour Singleton, je connais pas.

MessagePublié: 11 Mars 2010 à 10:50
par stloje
Vue que tu es sur Internet, pourquoi tu ne crées pas un jeton en JavaScript?

Nous, pour éviter que le client soumette intempestivement son document au serveur, on a crée une variable qui prend la valeur de vrai si le document est soumis. Le bouton vérifie cette variable et soumet la demande si elle est fausse.

MessagePublié: 11 Mars 2010 à 10:52
par amahi
Dans ton cas ce devrait etre le plus approprié, avec un singleton tu n'aura que une et une seule instance de ta classe à la fois.