監(jiān)理公司管理系統 | 工程企業(yè)管理系統 | OA系統 | ERP系統 | 造價咨詢管理系統 | 工程設計管理系統 | 甲方項目管理系統 | 簽約案例 | 客戶案例 | 在線試用
X 關閉
OA數據庫

當前位置:工程項目OA系統 > OA軟件研發(fā) > OA數據庫

接口用來用戶在泛普OA辦公軟件ThinkOne系統自由定義一些需要定時執(zhí)行的操作

申請免費試用、咨詢電話:400-8352-114

自定義定時器
一. 接口說明
該接口用來用戶在泛普OA辦公軟件泛普OA系統系統自由定義一些需要定時執(zhí)行的操作,它是由Quartz這一個開源的作業(yè)調度框架來實現;
該接口通過配置調度時間和自行開發(fā)調度動作來實現需要定時執(zhí)行的任務。
該接口提供了兩種調度方式
IntervalJob接口,此接口每隔一段時間執(zhí)行一次(自己定義間隔時間)
CronJob接口,此接口在指定的時間點執(zhí)行(自己定義時間點)
在開發(fā)調度動作需要實現泛普OA辦公軟件泛普OA系統提供的自定義動作接口。

二. 實現方法&步驟
1. 配置調度文件schedule.xml(該文件位于泛普OA辦公軟件泛普OA系統的WEB-INF/service/目錄下)
<?xml version="1.0" encoding="GBK"?>
<module id="datasource" version="1.0.0">
<service-point id="job1" interface="OA.interfaces.schedule.IntervalJob">
        <invoke-factory>
            <construct class="MyIntervalJob "> 
            <set-service property="ds" service-id="datasource.dt1"/>
               <set property="second" value="60"/>
            </construct>
        </invoke-factory>
</service-point>
<service-point id="job2" interface="OA.interfaces.schedule.CronJob">
        <invoke-factory>
            <construct class="MyCronJob ">
        <set-service property="ds" service-id="datasource.dt2"/>
                <set property="cronExpr" value="0 44 12 ? * MON-FRI"/>
            </construct>
        </invoke-factory>
</service-point>

上文中配置兩個調度任務job1,job2,實現了兩種調度策略,其中黑體部分是在配置每個調度時需要改變的內容;

注意:每次配置后需要重啟OA服務方可生效;
2. 屬性說明
 Id:唯一標識該調度任務,無其他作用
 service-id:上文定義的自定義數據源,如果任務執(zhí)行的動作中需要和數據源中的數據庫交付數據,需要設置該屬性
 class:該任務真正執(zhí)行的操作,其中job1中MyIntervalJob必須繼承OA.interfaces.schedule.IntervalJob,job2中MyCronJob必須繼承OA.interfaces.schedule.CronJob;繼承后需要實現的方法是其中的execute();
 value:任務執(zhí)行的頻率,在JOB1中表示沒60秒執(zhí)行一次,在JOB2中表示每周一到周五12:44執(zhí)行(JOB2的執(zhí)行頻率配置方式和一般LINUX操作系統的定時任務配置方式一致)
3. 在5.0及以上版本對于CronJob可以直接在進行可視化的配置
通過頂部菜單【設置中心】【外部接口設置】【配置計劃任務接口】即可進入配置界面
 

點擊右鍵【新建】即可創(chuàng)建一個新的【計劃任務】
 
注意:該配置,不需要重啟OA服務即可生效

4. 可視化配置屬性說明
 計劃任務標識,即xml配置中的Id:唯一標識該調度任務,無其他作用
 計劃任務類,即xml配置中的class:該任務真正執(zhí)行的操作,MyCronJo必須繼承OA.interfaces.schedule.CronJob;繼承后需要實現的方法是其中的execute();
 定時時間,即xml配置中的value:任務執(zhí)行的頻率,表示每周一到周五12:44執(zhí)行(執(zhí)行頻率配置方式和一般LINUX操作系統的定時任務配置方式一致)

5. 如何實現任務執(zhí)行的操作
實現定時執(zhí)行的操作,實際上就是實現OA.interfaces.schedule.BaseIntervalJob 或者OA.interfaces.schedule.BaseCronJob中的execute()方法
import OA.interfaces.schedule.BaseIntervalJob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
 * IntervalJob示范代碼,集成BaseIntervalJob,用自己的業(yè)務邏輯覆蓋了execute()方法,實際使用中這里可以編寫用戶需要實現的代碼
 */
public class MyIntervalJob extends BaseIntervalJob {
    public void execute() {
        //從數據源中獲取連接
        Connection conn = getDs().getConnection();  //此處是取得上文定義的數據源dt1,如果需要操作其他系統的數據才需要該定義
        try {
            //通過jdbc獲取人數
            PreparedStatement s = conn.prepareStatement("select count(*) as amount from hrmresource");  //此時假設在數據源dt1定義的數據庫中有hrmresource表
            ResultSet rs = s.executeQuery();
            rs.next();
            String amount = rs.getString("amount");
            //輸出到控制臺
            System.out.println("人數:" + amount);
            //關閉記錄集
            rs.close();
            //關閉statement
            s.close();
        } catch (Exception e) {
                   } finally {
            try {
                //關閉連接
                conn.close();
            } catch (Exception e) {
                           }
        }
    }
}

 

發(fā)布:2006-03-09 17:55    編輯:泛普軟件 · admin    [打印此頁]    [關閉]
相關文章:
OA軟件研發(fā)
聯系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統

QQ在線咨詢

泛普OA數據庫其他應用

OA設計 OA系統測試 OA平臺 OA定制 OA開源 OA代碼(源碼) OA方案 OA培訓 OA破解 OA下載 OA購買 OA數據庫 OA系統界面設計 泛普OA新功能開發(fā)