【发布时间】:2017-05-05 13:49:52
【问题描述】:
我需要多次运行我的代理。每次所有的代理都应该是
- 已创建
- 执行他们的行为并
- 从平台上移除。
我的问题在于最后一步。
如何从平台中删除代理,或者如何关闭平台以便稍后执行另一个代理?
我尝试了这段代码,但仍然无法关闭 RMA:
for( int i=0; i<10;i++)
{
System.out.println("******************************iteration************************"+i);
// Récupération du conteneur (Main Container) en cours d'execution de Jade
Runtime rt = Runtime.instance();
// Création du profil par défault
ProfileImpl p = new ProfileImpl(false);
AgentContainer container =rt.createAgentContainer(p);
AgentController Agent=null;
for (int j=0; j<Ag.length;j++)
{//loop to create all the existing agents in Ag (array).
try { System.out.println("creation de l'agent"+j);
Agent = container.createNewAgent(Ag[j], "jade.project."+Ag[j], null);
Agent.start();
} catch (StaleProxyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//shut down
System.out.println("******************************Fin iteration************************"+i);
}
如何每次都关闭主容器?谢谢
【问题讨论】:
-
你的代码是否使用这一行编译:
Agent = container.createNewAgent(Ag[j], "jade.project."+Ag[j], null);? -
是的,实际上第一次循环执行一次代码没有问题,到第二次迭代出现错误(平台正在运行,请先关闭它)跨度>
-
所以我每次都需要在下一次迭代开始之前关闭它。
-
评论:结构化文本;明确的标题(提及“翡翠”)
标签: java eclipse-plugin agent agents-jade multi-agent