国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JFinal-event v2.3.0 發(fā)布,簡(jiǎn)化 Event 事件類

ashe / 2131人閱讀

摘要:和沖突,去掉對(duì)支持,標(biāo)記為棄用。初始化插件初始化插件設(shè)置為異步,默認(rèn)同步,或者使用自定義線程池。為子類排序,數(shù)值越小越先執(zhí)行,默認(rèn)為異步執(zhí)行,需要插件開(kāi)啟或者自定義線程池。

說(shuō)明

JFinal-event 2.x 參考 Spring 4.2.xEvent 的使用方式而生,為 JFinal 用戶帶來(lái)更多方便。其核心目標(biāo)是深層次解耦,為您節(jié)約更多時(shí)間,去陪戀人、家人和朋友 :)

年初 @idoz 提議實(shí)現(xiàn)類似 Spring 4.2 里的 PayloadApplicationEvent,其實(shí)我早就有此想法,一直沒(méi)有抽出時(shí)間來(lái)折騰。

順便在 碼云上添加了 issues 3.0優(yōu)化,有2點(diǎn)功能:

第一點(diǎn),實(shí)現(xiàn) PayloadApplicationEvent 不難。擴(kuò)展個(gè) EventType

class1 為 ApplicationEvent 類 或者 PayloadApplicationEvent類信息
class2 為 ApplicationEvent 泛型,或者 Payload 中的類信息

第二點(diǎn),將類掃描改為 annotation Processor 編譯期處理(避免容器環(huán)境差異)

由于 @EventListener 注解可以在任何方法中,annotation Processor 需要掃描 *,然后 找出 對(duì)應(yīng)的含有 @EventListener 方法的類,然后寫(xiě)入 META-INF/dream.events 文件中。

本次版本升級(jí)完成了第一點(diǎn),第二點(diǎn)由于覺(jué)得更加適合底層框架去實(shí)現(xiàn),從而方便擴(kuò)展,對(duì)于 annotation Processor 感興趣的朋友可以了解我的開(kāi)源 mica-auto

更新說(shuō)明 2019-04-08 v2.3.0

升級(jí)到 jfinal 3.8。

支持 @EventListener 方法可以無(wú)參數(shù)。

ObjenesisBeanFactory 和 jfinal Aop inject 沖突,去掉對(duì) JFinal inject 支持,標(biāo)記為棄用。

新增 SourceClass 作為 event 事件源(同 Spring PayloadApplicationEvent),event模型不再需要實(shí)現(xiàn) ApplicationEvent

@EventListener 注解新增 value 變量,功能同 events。

修復(fù) @EventListener events 參數(shù)類型判斷bug。

初始化插件
// 初始化插件
EventPlugin plugin = new EventPlugin();
// 設(shè)置為異步,默認(rèn)同步,或者使用`threadPool(ExecutorService executorService)`自定義線程池。
plugin.async();

// 設(shè)置掃描jar包,默認(rèn)不掃描
plugin.scanJar();
// 設(shè)置監(jiān)聽(tīng)器默認(rèn)包,多個(gè)包名使用;分割,默認(rèn)全掃描
plugin.scanPackage("net.dreamlu");
// bean工廠,默認(rèn)為DefaultBeanFactory,可實(shí)現(xiàn)IBeanFactory自定義擴(kuò)展
// 對(duì)于將@EventListener寫(xiě)在不含無(wú)參構(gòu)造器的類需要使用`ObjenesisBeanFactory`(2.3.0 已經(jīng)不推薦使用)
plugin.beanFactory(new ObjenesisBeanFactory());

// 手動(dòng)啟動(dòng)插件,用于main方法啟動(dòng),jfinal中不需要,添加插件即可。
plugin.start();

// 停止插件,用于main方法測(cè)試
plugin.stop();
新建事件類(任意模型即可 2.3.0支持)
public class AccountEvent {

    private Integer id;
    private String name;
    private Integer age;

    // 省略 get set

}
編寫(xiě)監(jiān)聽(tīng)
@EventListener
public void listenTest1Event(AccountEvent event) {
    System.out.println("AccountEvent:" + event);
}
發(fā)送事件
AccountEvent event = new AccountEvent();
event.setId(1);
event.setName("張三");
event.setAge(18);

EventKit.post(event);
@EventListener注解說(shuō)明 示例
@EventListener(events = Test1Event.class, order = 1, async = true, condition = "event.isExec()")
說(shuō)明

valueevents支持的事件類型數(shù)組,用于將事件方法定義為ApplicationEvent或者自定義父類。

public class Test {

    // Test1Event, Test2Event 為 TestEvent 子類
    @EventListener({Test1Event.class, Test2Event.class})
    public void applicationEvent(TestEvent event) {
        System.out.println(Thread.currentThread().getName() + "	event:" + event);
    }
}

order排序,數(shù)值越小越先執(zhí)行,默認(rèn)為Integer.MAX_VALUE

async異步執(zhí)行,需要插件開(kāi)啟async()或者自定義線程池。

condition表達(dá)式條件,使用event.xxxx,event.isExec() == true判定event的屬性或者方法。

jar依賴

jar包下載
http://central.maven.org/mave...

以上版本均已上傳到maven倉(cāng)庫(kù)~


    net.dreamlu
    JFinal-event
    2.3.0
開(kāi)源推薦

mica?Spring boot 微服務(wù)核心組件集:https://gitee.com/596392912/mica

Avue?一款基于vue可配置化的神奇框架:https://gitee.com/smallweigit/avue

pig?宇宙最強(qiáng)微服務(wù)(架構(gòu)師必備):https://gitee.com/log4j/pig

SpringBlade?完整的線上解決方案(企業(yè)開(kāi)發(fā)必備):https://gitee.com/smallc/SpringBlade

IJPay?支付SDK讓支付觸手可及:https://gitee.com/javen205/IJPay

關(guān)注我們

掃描上面二維碼,更多精彩內(nèi)容每天推薦!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/77474.html

相關(guān)文章

  • EventEmitter的實(shí)現(xiàn)

    摘要:實(shí)例方法的話,最核心的就是分別是添加事件,刪除事件,發(fā)布事件。為了防止進(jìn)程崩潰,可以在對(duì)象的事件上注冊(cè)監(jiān)聽(tīng)器,或使用模塊。注意,模塊已被廢棄。作為最佳實(shí)踐,應(yīng)該始終為事件注冊(cè)監(jiān)聽(tīng)器。 前言 事件在js中非常的常見(jiàn),不管是瀏覽器還是node,這種事件發(fā)布/訂閱模式的應(yīng)用都是很常見(jiàn)的。至于發(fā)布/訂閱模式和觀察者模式是否是同一種設(shè)計(jì)模式說(shuō)法都有,這里不做具體的討論。在之前的項(xiàng)目中也曾自己實(shí)現(xiàn)...

    CoreDump 評(píng)論0 收藏0
  • Iceworks 自定義模板支持布局定制(v2.3.0 版本)

    摘要:同時(shí)會(huì)記錄你的配置,便于下一次選擇。自定義界面預(yù)覽圖未來(lái)自定義模板還會(huì)支持等框架的選擇,詳細(xì)介紹可查看。阿里云上傳插件可一鍵將構(gòu)建后的資源文件上傳到阿里云返回資源路徑,提高發(fā)布效率。 Iceworks 2.3.0 版本發(fā)布概覽 新增:自定義模板新增自定義布局功能 新增:構(gòu)建資源結(jié)果展示插件 新增:阿里云 OSS 上傳插件 查看詳情 新增:項(xiàng)目插件面板可拖拽排序 優(yōu)化:依賴管理插件,...

    garfileo 評(píng)論0 收藏0
  • 軟件架構(gòu)模式

    摘要:事件處理器是自包含和獨(dú)立的,解耦于架構(gòu)。因其分布式和異步的性質(zhì),事件驅(qū)動(dòng)架構(gòu)的實(shí)現(xiàn)相對(duì)復(fù)雜,主要是由于它的異步和分布式特性。微內(nèi)核架構(gòu)微內(nèi)核架構(gòu)模式也被稱為插件架構(gòu)模式。 來(lái)自于OReilly免費(fèi)的電子書(shū):Software Architecture Patterns showImg(https://segmentfault.com/img/remote/1460000009652123...

    ZHAO_ 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<