微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 XML Codec 在两个代理之间发送消息

如何解决使用 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?