如何解决使用 XML Codec 在两个代理之间发送消息
我想在 jade 平台中使用 XML Codec 将消息从一个代理发送到另一个代理 我有一个“AgentFournisseur”,它会向“AgentAdaptateur”发送一条消息,其中这条消息是连接到“AgentFournisseur”的数据库中的一些数据
这是我的代码:
package fournisseur;
public class AgentFournisseur extends Agent{
private AgentFournisseur MyAgent;
private Codec xmlCodec = new XMLCodec();
@Override
protected void setup() {
addBehavIoUr(new CyclicBehavIoUr() {
@Override
public void action() {
cnxx u=new cnxIMPL();
List<user>users;
getContentManager().registerLanguage(xmlCodec);
MessageTemplate MsgTem= MessageTemplate.MatchPerformative(ACLMessage.REQUEST);
ACLMessage aclMessage=receive(MsgTem);
if (aclMessage != null) {
users=u.selectalluser();
ACLMessage message = new ACLMessage(ACLMessage.ACCEPT_PROPOSAL);
message.addReceiver(new AID("Aadaptateur",AID.ISLOCALNAME));
message.setLanguage(XMLCodec.NAME);
message.setontology(YourOntology.NAME);
try {
MyAgent.getContentManager().fillContent(message,(AbsContentElement) users);
send(message);
} catch (Exception e) {
e.printstacktrace();
}
}
else {
block();
}
}
});
}
但它发生了这个异常:
java.lang.NullPointerException
at fournisseur.AgentFournisseur$1.action(AgentFournisseur.java:77)
at jade.core.behavIoUrs.BehavIoUr.actionWrapper(BehavIoUr.java:344)
at jade.core.Agent$ActiveLifeCycle.execute(Agent.java:1585)
at jade.core.Agent.run(Agent.java:1524)
at java.lang.Thread.run(Thread.java:748)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。