如何从普通(非代理)java类执行JADE代理?
我想从不是代理的其他类向代理发送消息。例如Servlet或主静态类。这是一个原始类而不是代理:如何从普通(非代理)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
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吗?