Merci pour la vidéo Djug, mais ce n'est pas tout à fait ce que je recherche. L'interface graphique pour utiliser l'agent sniffer est pratique pour débugger, mais ce que je cherche, c'est à utiliser l'agent sniffer via le code afin de vérifier l'existence d'échanges de messages entre mes agents.
Pour faire simple, j'ai un agent superviseur et plusieurs agents qui travaillent.
Les agent qui travaillent fond leur petit business entre eux en s'échangeant des messages pour accorder leurs violons.
L'agent superviseur attend qu'ils aient fini pour passer à l'étape suivante et leur envoyer un message afin de récupérer la mise à jour des valeurs. Pour savoir qu'ils ont fini, toutefois, il me faut vérifier que les agents ne sont plus en cours de négociation, et donc qu'ils n'échangent plus de messages.
Donc, pour faire le lien entre eux, j'aurais besoin d'un travail similaire à celui du sniffer: connaitre les messages qui sont échangés. J'ai donc créé un agent Sniffer:
Seulement... Bah, y a peu de fonctions disponibles via ce Sniffer. Et je ne trouve pas celle qui me permettrait récupérer celà.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public AgentController Sniffer; Sniffer = Container.createNewAgent("TheNose", "jade.tools.sniffer.Sniffer", Supervisor.AgentsList);
J'ai aussi testé avec une autre typo qui me proposait une fonction "getSniffMsg(List of Agent, flag), le problème étant que je ne comprend pas comment utiliser cette fonction, la "liste des agents" étant un peu compliquée à mettre en place (besoin de refondre le cote pour que chaque agent soit créé en dur dans le superviseur, sachant que le nombre d'agent est un paramètre variable).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public Sniffer ExchangedMessage; Supervisor.Sniffer.getSniffMsg(Supervisor.AgentsList, true);
Partager