0
Я хочу отправить сообщение агенту из другого класса, который не является агентом. например, сервлет или основной статический класс.Как выполнить агент JADE из обычного (не агента) класса java?
Я хочу отправить сообщение агенту из другого класса, который не является агентом. например, сервлет или основной статический класс.Как выполнить агент JADE из обычного (не агента) класса java?
Это oridnary класс не агент:
MainContainerAgentsRetriever retriever = new MainContainerAgentsRetriever();
JadeGateway.execute(retriever);
// At this point the retriever behaviour has been fully executed --> the list of
// agents running in the Main Container is available: get it and print it
List agents = retriever.getAgents();
if (agents != null) {
System.out.println("Agents living in the Main Container: ");
for (int i = 0; i < agents.size(); ++i) {
System.out.println("- " + ((AID) agents.get(i)).getLocalName());
ACLMessage msg = new ACLMessage();
msg.addReceiver(((AID) agents.get(i)));
msg.setContent("salam refigha");
retriever.send(msg);
}
}
вы обратили внимание на то, что вы нарушаете парадигму реализации? Не лучше ли создать агента для отправки этого сообщения? – darlinton
Спасибо за ваш комментарий, я не могу изменить класс сервлета, чтобы быть агентом. – amir
Вы пробовали JadeGateway http://jade.tilab.com/doc/tutorials/JadeGateway.pdf? – darlinton