監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉
免費(fèi)OA系統(tǒng)

當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 免費(fèi)辦公軟件 > 免費(fèi)OA系統(tǒng)

免費(fèi)OA自定義定時(shí)器

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

第二部分 泛普免費(fèi)OA自定義定時(shí)器
一. 泛普OA免費(fèi)版接口說(shuō)明
該接口用來(lái)用戶在泛普OA系統(tǒng)系統(tǒng)自由定義一些需要定時(shí)執(zhí)行的操作,它是由Quartz這一個(gè)開(kāi)源的作業(yè)調(diào)度框架來(lái)實(shí)現(xiàn);
該接口通過(guò)配置調(diào)度時(shí)間和自行開(kāi)發(fā)調(diào)度動(dòng)作來(lái)實(shí)現(xiàn)需要定時(shí)執(zhí)行的任務(wù)。
該接口提供了兩種調(diào)度方式
IntervalJob接口,此接口每隔一段時(shí)間執(zhí)行一次(自己定義間隔時(shí)間)
CronJob接口,此接口在指定的時(shí)間點(diǎn)執(zhí)行(自己定義時(shí)間點(diǎn))
在開(kāi)發(fā)調(diào)度動(dòng)作需要實(shí)現(xiàn)泛普OA系統(tǒng)提供的自定義動(dòng)作接口。
 
二. 泛普OA軟件實(shí)現(xiàn)方法&步驟
1. 配置調(diào)度文件schedule.xml(該文件位于泛普OA系統(tǒng)的WEB-INF/service/目錄下)
<?xml version="1.0" encoding="GBK"?>
<module id="datasource" version="1.0.0">
<service-point id="job1" interface="泛普OA系統(tǒng).interfaces.schedule.IntervalJob">
        <invoke-factory>
            <construct class="MyIntervalJob ">
             <set-service property="ds" service-id="datasource.dt1"/>
               <set property="second" value="60"/>
<set property="userid" value=" 100" />
            </construct>
        </invoke-factory>
</service-point>
<service-point id="job2" interface="泛普OA系統(tǒng).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"/>
<set property="userid" value=" 100" />
            </construct>
        </invoke-factory>
</service-point>
 
上文中配置兩個(gè)調(diào)度任務(wù)job1,job2,實(shí)現(xiàn)了兩種調(diào)度策略,其中黑體部分是在配置每個(gè)調(diào)度時(shí)需要改變的內(nèi)容;
 
注意:每次配置后需要重啟OA服務(wù)方可生效;
2. 屬性說(shuō)明
Id:唯一標(biāo)識(shí)該調(diào)度任務(wù),無(wú)其他作用
service-id:上文定義的自定義數(shù)據(jù)源,如果任務(wù)執(zhí)行的動(dòng)作中需要和數(shù)據(jù)源中的數(shù)據(jù)庫(kù)交付數(shù)據(jù),需要設(shè)置該屬性
class:該任務(wù)真正執(zhí)行的操作,其中job1中MyIntervalJob必須繼承泛普OA系統(tǒng).interfaces.schedule.IntervalJob,job2中MyCronJob必須繼承泛普OA系統(tǒng).interfaces.schedule.CronJob;繼承后需要實(shí)現(xiàn)的方法是其中的execute();
value:任務(wù)執(zhí)行的頻率,在JOB1中表示沒(méi)60秒執(zhí)行一次,在JOB2中表示每周一到周五12:44執(zhí)行(JOB2的執(zhí)行頻率配置方式和一般LINUX操作系統(tǒng)的定時(shí)任務(wù)配置方式一致)
3. 在5.0及以上版本對(duì)于CronJob可以直接在進(jìn)行可視化的配置
通過(guò)頂部菜單【設(shè)置中心】【外部接口設(shè)置】【配置計(jì)劃任務(wù)接口】即可進(jìn)入配置界面
 
 
點(diǎn)擊右鍵【新建】即可創(chuàng)建一個(gè)新的【計(jì)劃任務(wù)】
 
注意:
1) 該配置,不需要重啟OA服務(wù)即可生效
2) 可視化配置,目前不支持其它屬性的配置,如上面的配置文件中的
<set-service property="ds" service-id="datasource.dt2"/>
<set property="userid" value=" 100" />
所有建議大家在使用該接口的時(shí)候,可以直接去修改xml文件,可視化配置會(huì)在后期完善。
4. 可視化配置屬性說(shuō)明
計(jì)劃任務(wù)標(biāo)識(shí),即xml配置中的Id:唯一標(biāo)識(shí)該調(diào)度任務(wù),無(wú)其他作用
計(jì)劃任務(wù)類(lèi),即xml配置中的class:該任務(wù)真正執(zhí)行的操作,MyCronJo必須繼承泛普OA系統(tǒng).interfaces.schedule.CronJob;繼承后需要實(shí)現(xiàn)的方法是其中的execute();
定時(shí)時(shí)間,即xml配置中的value:任務(wù)執(zhí)行的頻率,表示每周一到周五12:44執(zhí)行(執(zhí)行頻率配置方式和一般LINUX操作系統(tǒng)的定時(shí)任務(wù)配置方式一致)
 
5. 如何實(shí)現(xiàn)任務(wù)執(zhí)行的操作
實(shí)現(xiàn)定時(shí)執(zhí)行的操作,實(shí)際上就是實(shí)現(xiàn)泛普OA系統(tǒng).interfaces.schedule.BaseIntervalJob 或者泛普OA系統(tǒng).interfaces.schedule.BaseCronJob中的execute()方法
import 泛普OA系統(tǒng).interfaces.schedule.BaseIntervalJob;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
 * IntervalJob示范代碼,集成BaseIntervalJob,用自己的業(yè)務(wù)邏輯覆蓋了execute()方法,實(shí)際使用中這里可以編寫(xiě)用戶需要實(shí)現(xiàn)的代碼
 */
public class MyIntervalJob extends BaseIntervalJob {
   //獲得自定義屬性u(píng)serid的值
       private String userid;
    
       public String getUserid() {
return userid;
}
 
    public void execute() {
        //從數(shù)據(jù)源中獲取連接
        Connection conn = getDs().getConnection();  //此處是取得上文定義的數(shù)據(jù)源dt1,如果需要操作其他系統(tǒng)的數(shù)據(jù)才需要該定義
        try {
            //通過(guò)jdbc獲取人數(shù) 
            PreparedStatement s = conn.prepareStatement("select count(*) as amount from hrmresource");  //此時(shí)假設(shè)在數(shù)據(jù)源dt1定義的數(shù)據(jù)庫(kù)中有hrmresource表
            ResultSet rs = s.executeQuery();
            rs.next();
            String amount = rs.getString("amount");
            //輸出到控制臺(tái)
            System.out.println("人數(shù):" + amount);
            //關(guān)閉記錄集
            rs.close();
            //關(guān)閉statement
            s.close();
        } catch (Exception e) {
                   } finally {
            try {
                //關(guān)閉連接
                conn.close();
            } catch (Exception e) {
                           }
        }
    }
}
 
 
6. CronExpr表達(dá)式
 
一個(gè)cron表達(dá)式有至少6個(gè)有空格分隔的時(shí)間元素,按順序依次為: 
秒(0~59) 
分鐘(0~59) 
小時(shí)(0~23) 
天(月)(0~31,但是你需要考慮你月的天數(shù)) 
月(0~11) 
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,F(xiàn)RI,SAT)
 
0 0 10,14,16 * * ? 每天上午10點(diǎn),下午2點(diǎn),4點(diǎn)
0 0/30 9-17 * * ?   朝九晚五工作時(shí)間內(nèi)每半小時(shí)
0 0 12 ? * WED 表示每個(gè)星期三中午12點(diǎn) 
"0 0 12 * * ?" 每天中午12點(diǎn)觸發(fā) 
"0 15 10 ? * *" 每天上午10:15觸發(fā) 
"0 15 10 * * ?" 每天上午10:15觸發(fā) 
"0 * 14 * * ?" 在每天下午2點(diǎn)到下午2:59期間的每1分鐘觸發(fā) 
"0 0/5 14 * * ?" 在每天下午2點(diǎn)到下午2:55期間的每5分鐘觸發(fā) 
"0 0/5 14,18 * * " 在每天下午2點(diǎn)到2:55期間和下午6點(diǎn)到6:55期間的每5分鐘觸發(fā) 
"0 0-5 14 * * ?" 在每天下午2點(diǎn)到下午2:05期間的每1分鐘觸發(fā) 
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發(fā) 
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發(fā) 
"0 15 10 15 * ?" 每月15日上午10:15觸發(fā) 
"0 15 10 L * ?" 每月最后一日的上午10:15觸發(fā) 
"0 15 10 ? * 6L" 每月的最后一個(gè)星期五上午10:15觸發(fā) 
"0 15 10 ? * 6#3" 每月的第三個(gè)星期五上午10:15觸發(fā) 
 
有些子表達(dá)式能包含一些范圍或列表 
例如:子表達(dá)式(天(星期))可以為 “MON-FRI”,“MON,WED,F(xiàn)RI”,“MON-WED,SAT” 
“*”字符代表所有可能的值 
因此,“*”在子表達(dá)式(月)里表示每個(gè)月的含義,“*”在子表達(dá)式(天(星期))表示星期的每一天 
“/”字符用來(lái)指定數(shù)值的增量 
例如:在子表達(dá)式(分鐘)里的“0/15”表示從第0分鐘開(kāi)始,每15分鐘 
  在子表達(dá)式(分鐘)里的“3/20”表示從第3分鐘開(kāi)始,每20分鐘(它和“3,23,43”)的含義一樣 
 
 
“?”字符僅被用于天(月)和天(星期)兩個(gè)子表達(dá)式,表示不指定值 
當(dāng)2個(gè)子表達(dá)式其中之一被指定了值以后,為了避免沖突,需要將另一個(gè)子表達(dá)式的值設(shè)為“?”
 
發(fā)布:2006-04-22 14:37    編輯:泛普軟件 · admin    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:
免費(fèi)辦公軟件
聯(lián)系方式

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

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

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普免費(fèi)OA系統(tǒng)其他應(yīng)用

免費(fèi)ERP系統(tǒng) OA辦公系統(tǒng)免費(fèi)版 免費(fèi)OA系統(tǒng) 免費(fèi)ERP 免費(fèi)財(cái)務(wù)軟件 財(cái)務(wù)軟件免費(fèi)版 合同管理軟件免費(fèi)版 管家婆進(jìn)銷(xiāo)存免費(fèi)版 小管家進(jìn)銷(xiāo)存免費(fèi)版 生財(cái)寶進(jìn)銷(xiāo)存免費(fèi)版 免費(fèi)網(wǎng)店管理軟件 服裝管理系統(tǒng)免費(fèi)版 免費(fèi)廣告公司管理系統(tǒng) 房地產(chǎn)銷(xiāo)售軟件下載 免費(fèi)開(kāi)源系統(tǒng) 免費(fèi)辦公管理系統(tǒng) 免費(fèi)審批系統(tǒng) 免費(fèi)辦公用品管理軟件 免費(fèi)上網(wǎng)行為管理系統(tǒng) 免費(fèi)公文管理系統(tǒng) 免費(fèi)流程管理軟件 免費(fèi)商務(wù)管理軟件 免費(fèi)稱(chēng)重管理軟件 免費(fèi)訂單管理系統(tǒng) 免費(fèi)公司管理軟件 免費(fèi)信息管理系統(tǒng) 業(yè)務(wù)流程管理軟件免費(fèi) 免費(fèi)時(shí)間管理軟件 免費(fèi)目標(biāo)管理軟件 免費(fèi)協(xié)同管理軟件 免費(fèi)企業(yè)OA辦公系統(tǒng)