Jade - 如何从代理名称中查找代理ID和控制器ID

时间:2016-08-17 07:24:01

标签: agents-jade

我目前正在开展一项任务,其中包括对代理程序暂停,代理程序终止等jade代理程序的操作。我从哪里获得来自Web服务的jade代理名称。我如何从代理商名称中获取代理商ID或代理商对象?

public class DPM_MainAgent_WebService_Worker extends Agent {
    AMSAgentDescription[] agents = null;
    protected void setup() 
    {        

     AID aid = new AID("FirstAgent",true);
     System.out.println("aid::::::::"+aid);

    }

}

FirstName是我的代理本地名称,我可以从webservices获取。我能够获得AID对象。但我需要获得代理对象。我怎样才能做到这一点?

由于

1 个答案:

答案 0 :(得分:0)

这里有几个问题:

  1. “如何从代理商名称中获取代理商ID或代理商对象?”

假设您所指的代理商在您的平台上,则可以通过以下方式从您代理商的(本地)名称重新创建代理商ID(AID):

new AID("YourAgentName", AID.ISLOCALNAME)

确实,并且代理标识符(AID)= localName +平台的ID

  1. “我需要获取代理对象。如何实现?”

创建代理“对象”的引用很容易。因此,您可以将它们存储在某个地方(例如Map )。 但是一般来说,不建议操纵代理引用,因为它们是线程并且可能会迁移。在大多数情况下,最好让他们通过消息来做您想做的事情。否则,它们只是对象,不是代理;)