电竞比分网-中国电竞赛事及体育赛事平台

分享

一個具有TickerBehaviour的簡單JADE Agent

 苦修 2009-04-21
  有時候某個單體Agent需要周期性的執(zhí)行某項動作,比如某個Agent需要定時從互聯(lián)網(wǎng)上抓取某些公開數(shù)據(jù)以填充自身知識庫,或者對本地數(shù)據(jù)庫進行操作和更新。對JADE來說,用TickerBehaviour很容易實現(xiàn),下面是一個周期性操作數(shù)據(jù)庫的簡單例子。
package jade.capScoreAdopter;

import jade.core.*;
import jade.core.behaviours.*;
import java.sql.*;
import common.DataBaseConnection;

public class IndustryScoreAdopt extends Agent {

    protected void adoptScore(){
        Connection conn=null;
        CallableStatement proc=null;
        try{
            conn=DataBaseConnection.getConnection();
            proc=conn.prepareCall("{call P_WriteIndustryScore}");
            proc.close();
            conn.close();
        }
        catch (SQLException e)
        {
            System.out.println("調(diào)用存儲過程出錯!");
        }
        
       
    }

    protected void setup() {
        System.out.println("Agent " + getLocalName() + " started.");
       
        addBehaviour(new TickerBehaviour(this, 1000000) {// 1000秒執(zhí)行一次
            protected void onTick() {
                adoptScore();
                System.out.println("Agent " + myAgent.getLocalName()
                        + "執(zhí)行一次知識調(diào)整: tick=" + getTickCount());
            }
        });

    }
}
附:創(chuàng)建數(shù)據(jù)庫連接類
package common;

import java.sql.*;

public class DataBaseConnection {

    public static Connection getConnection(){
        Connection conn=null;
//        連接數(shù)據(jù)庫,sqlserver連接串
        String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";
        String SERVANDDB="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=enterprisediagnose";
        String USER="sa";//用戶和密碼
        String PWD="sa";
        try{
            Class.forName(CLASSFORNAME);
            conn = java.sql.DriverManager.getConnection(SERVANDDB,USER,PWD);

        }catch(Exception e){
            e.printStackTrace();
            System.out.println("Error Trace in getConnection() : " + e.getMessage());
        }
        return conn;
       
    }
}

[from http://blog./u/17663/showart_378411.html]

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多