99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

5.6.任務(wù)過期處理

2023-07-03 17:19 更新
任務(wù)過期處理與任務(wù)到達(dá)提醒類似,唯一不同的地方是任務(wù)過期后,除了可以發(fā)送消息外,還允許用戶自定義其它類型的動(dòng)作,關(guān)于任務(wù)過期之后發(fā)送消息,這里就不描述了,因?yàn)楹腿蝿?wù)提醒發(fā)消息是一樣的,我們著重來看看過期后如何進(jìn)行動(dòng)作的自定義。如下圖所示:

可以看到系統(tǒng)提供了默認(rèn)自定義處理器只有一個(gè),從其bean的id定義來看,這個(gè)bean對(duì)任務(wù)過期不作任何操作,所以我們必須要自己定義,自己定義的方法就是實(shí)現(xiàn)ITaskOverdueProcessor接口,該接口源碼如下:
ITaskOverdueProcessor接口源碼
package com.bstek.bdf2.jbpm4.job;
/**
 * @author Jacky.gao
 * @since 2013-4-26
 */
public interface ITaskOverdueProcessor {
 void process(String taskId);
}
接口只有一個(gè)方法,非常簡(jiǎn)單,只有一個(gè)任務(wù)id的參數(shù),實(shí)現(xiàn)好接口后,我們需要做的就是將實(shí)現(xiàn)類配置到spring當(dāng)中即可(BDF2中幾乎所有的接口實(shí)現(xiàn)類都是通過配置到spring當(dāng)中,利用spring的類發(fā)現(xiàn)機(jī)制實(shí)現(xiàn)),這樣在界面中自定義處理器中就可以看到我們自定義的處理器的bean的id。

默認(rèn)情況下,系統(tǒng)對(duì)任務(wù)過期天數(shù)的計(jì)算是以自然日為基礎(chǔ)的,如果您需要除去節(jié)假日或其它一些日期,那么你可以實(shí)現(xiàn)ICalculateOverdueTaskReminder接口,自己決定當(dāng)前任務(wù)是否過期,這個(gè)接口的源碼如下:
ICalculateOverdueTaskReminder接口源碼
package com.bstek.bdf2.jbpm4.job.reminder;
import java.util.Date;
/**
 * @author Jacky.gao
 * @since 2013-4-26
 */
public interface ICalculateOverdueTaskReminder {
 /**
 * 根據(jù)業(yè)務(wù)環(huán)境計(jì)算當(dāng)前日期下是否執(zhí)行任務(wù)過期提供動(dòng)作
 * @param overdueDays 任務(wù)過期天數(shù)
 * @param createDate 任務(wù)的創(chuàng)建日期
 * @return 返回true表示執(zhí)行任務(wù)過期提供動(dòng)作,false表示不執(zhí)行
 */
 boolean calculateOverdue(int overdueDays,Date createDate);
}
接口的實(shí)現(xiàn)類編寫完成之后,同樣需要將其配置到Spring環(huán)境當(dāng)中。

同樣,一旦我們配置了任務(wù)過期消息提醒功能(非自定義處理器方式),那么在完成任務(wù)時(shí),我們一定要記得調(diào)用IBpmService接口中的cancelTaskReminder,不然任務(wù)雖然完成了,但任務(wù)提醒還會(huì)繼續(xù)運(yùn)行。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)