java - 如何从普通(非代理)java 类执行 JADE 代理?

标签 java agent agents-jade multi-agent

我想从其他不是代理的类向代理发送消息。例如 Servlet 或主要静态类。

最佳答案

这是一个普通类,不是代理:

        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);



            }
        }

关于java - 如何从普通(非代理)java 类执行 JADE 代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39410873/

相关文章:

java - Jade 行为调度

java - 如何通过 java 代码执行 "java"命令?

java - 拆分字符串 ('_' 作为分隔符)

java - 在测试类中调用没有参数的测试方法

java - 接收消息时获取JADE代理地址

java - jacoco 代理是否报告另一个代理的 premain 的代码覆盖率

haskell - 如何在 Haskell 中创建两个具有内部状态的相互生产者/消费者?

java - 我正在尝试从 JAVA arraylist 创建 JSON 对象并将其存储在单个 JSON 数组中,但出现 NullPointer 异常。在正文中添加信息

java - 为什么多线程中的 run() 方法不能是静态的?

internet-explorer - IE 11 - F12 开发工具 - 如何为 IE session 自动设置 "user agent string"