如何在JADE中创建容器并将代理添加到其中?

时间:2014-03-13 21:45:47

标签: agents-jade agents

我只是JADE的初学者。我想知道如何创建主容器以外的容器,并在其中添加多个代理。完整的创作代码将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:4)

如Tafadzwa Chikudo所述,启动容器的常用方法是从命令行(或在shell脚本中)启动jade.Boot。

但是也可以在另一个Java程序中使用“JADE进程内接口”(包jade.wrapper,类jade.core.Runtime)来完成。

例如,以下代码创建一个“外围”容器(连接到localhost上的主容器)并在其中启动一个代理。

//Get the JADE runtime interface (singleton)
jade.core.Runtime runtime = jade.core.Runtime.instance();
//Create a Profile, where the launch arguments are stored
Profile profile = new ProfileImpl();
profile.setParameter(Profile.CONTAINER_NAME, "TestContainer");
profile.setParameter(Profile.MAIN_HOST, "localhost");
//create a non-main agent container
ContainerController container = runtime.createAgentContainer(profile);
try {
        AgentController ag = container.createNewAgent("agentnick", 
                                      "my.agent.package.AgentClass", 
                                      new Object[] {});//arguments
        ag.start();
} catch (StaleProxyException e) {
    e.printStackTrace();
}

答案 1 :(得分:0)

可以按如下方式启动外围容器 java jade.Boot -container -host x.x.x.x -agents z:package.agent; y:package.agent 其中x.x.x.x是主容器的ip,z是您为第一个代理提供的名称,y是您为第二个代理提供的名称,package是包含jar文件中的代理的包