Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从普通(非代理)java类执行JADE代理?_Java_Agent_Agents Jade_Multi Agent - Fatal编程技术网

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

如何从普通(非代理)java类执行JADE代理?,java,agent,agents-jade,multi-agent,Java,Agent,Agents Jade,Multi Agent,我想从不是代理的其他类向代理发送消息。例如Servlet或主静态类。这是一个原始类而不是代理: MainContainerAgentsRetriever retriever = new MainContainerAgentsRetriever(); JadeGateway.execute(retriever); // At this point the retriever behaviour has been fully executed --&g

我想从不是代理的其他类向代理发送消息。例如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);



            }
        }
MainContainerAgentsRetriever检索器=新的MainContainerAgentsRetriever();
JadeGateway.execute(检索器);
//此时,检索器行为已完全执行-->列表中的
//主容器中运行的代理可用:获取并打印它
List agents=retriever.getAgents();
if(代理!=null){
System.out.println(“居住在主容器中的代理:”);
对于(int i=0;i
您是否考虑过您正在打破实施范式的事实?创建代理来发送此消息不是更好吗?谢谢您的评论,我无法将servlet类更改为代理。您尝试过JadeGateway吗?