Bonjour,
j'ai utilisé ce code pour l'agent coordinateur qui permet de trié un listes de demandes
package exemple;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
import pack1.LineFile;
import jade.core.AID;
import jade.core.Agent;
import jade.core.behaviours.CyclicBehaviour;
import jade.core.behaviours.OneShotBehaviour;
import jade.core.behaviours.SequentialBehaviour;
import jade.core.behaviours.WakerBehaviour;
import jade.lang.acl.ACLMessage;
public class Coordinateur extends Agent {
@SuppressWarnings({ "unchecked", "rawtypes" })
protected void setup(){
List<Cvs> listCvs = new LinkedList<Cvs>();
SequentialBehaviour comportementSequentiel = new SequentialBehaviour();
comportementSequentiel.addSubBehaviour(new OneShotBehaviour(){
@Override
public void action() {
try {
Class.forName("org.relique.jdbc.csv.CsvDriver");
Properties props = new Properties();
props.put("fileExtension", ".txt");
Connection conn = DriverManager.getConnection("jdbc:relique:csv:C:\\csv", props);
Statement stmt = conn.createStatement();
List<Cvs> listCvs = new LinkedList<Cvs>();
ResultSet results = stmt.executeQuery("select * from csv order by eo");
while (results.next()) {
int id = results.getInt("id");
String origin = results.getString("origin");
String destination = results.getString("destination");
int capacite = results.getInt("capacite");
String eo = results.getString("eo");
String em = results.getString("Em");
String dtm = results.getString("DTM");
String dtd = results.getString("DTD");
String lo = results.getString("lo");
String ed = results.getString("ed");
String ld = results.getString("ld");
Cvs cvs = new Cvs(id, origin, destination, capacite, eo, em, dtm, dtd, lo, ed, ld);
listCvs.add(cvs);
}
Collections.sort(listCvs, new Comparator() {
@Override
public int compare(Object CvsOne, Object CvsTwo) {
return ((Cvs) CvsOne).getEo().compareTo(((Cvs) CvsTwo).getEo());
}
});
for (Cvs str : listCvs) {
System.out.println(str.getId() + " | " + str.getOrigin() + " | " + str.getDestination() + " | "
+ str.getCapacite() + " | " + str.getEo() + " | " + str.getEm() + " | " + str.getDTM() + " | "
+ str.getDTD() + " | " + str.getLo() + " | " + str.getEd() + " | " + str.getLd());
}
conn.close();
}
catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
comportementSequentiel.addSubBehaviour(new CyclicBehaviour(){
private Cvs str;
@Override
public void action() {
Coordinateur c1 = new Coordinateur();
List<Cvs> listCvs = new LinkedList<Cvs>();
ACLMessage msg = new ACLMessage(ACLMessage.INFORM);
msg.setContent("Bonjour");
msg.addReceiver( new AID( "Véhicule", AID.ISLOCALNAME) );
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
send(msg);
ACLMessage reply = receive();
if (reply!=null) {
System.out.println(reply.getContent());
}
block();
}
});
addBehaviour(comportementSequentiel);
}
}
maintenant je veux envoyer ces demandes à un autre agent Véhicule au lieu de
msg.setContent("Bonjour");
qu'est ce que je mets pour envoyer une demande