摘要: JDK內(nèi)建的任務(wù)調(diào)度工具類有Timer和TimerTask類,對于簡單的任務(wù)調(diào)度,JDK的Timer就能夠勝任。一般來說,Timer應(yīng)該隨程序啟動后一直運行。如果是web程序,可以通過listener加載Timer實例。對于普通的應(yīng)用程序,需要將Timer設(shè)置成非后臺線程才行。 閱讀全文
07 2007 檔案
摘要: 本文主要介紹如何使用簡單的Spring郵件抽象層來實現(xiàn)郵件發(fā)送功能,對于JavaMail中的API并不做介紹。通過對比JavaMail的API和Spring的郵件抽象層,我覺得,Spring的郵件抽象層優(yōu)點就是簡化了代碼量,并能充分利用IOC功能;缺點就是要使用部分Spring API,使程序與第三方框架耦合。關(guān)于這方面的內(nèi)容,可以參考Spring的參考手冊。 閱讀全文
摘要: call和execution的指示符分別為call(Method-Signature)、execution(Method-Signature),匹配方法簽名的方法或構(gòu)造函數(shù)的執(zhí)行。對于call來說,調(diào)用的連接點位于方法調(diào)用點的調(diào)用代碼處;對于execution來說,執(zhí)行的連接點位于方法執(zhí)行的位置。也就是說,call和execution的重要區(qū)別在于它們傳遞了哪些類型給AspectJ編譯器以用來與aspect進行鏈接。 閱讀全文
摘要: target切入點格式如下:target([Type|Identifier])。Type指示對連接點處的對象類型提供一個靜態(tài)編譯時評估,并采用完全限定類名的形式(也就是說,Type不能是使用通配符的類型聲明模式)。Identifier提供了一種方法,可通過它來評估連節(jié)點處的運行時對象的實際類型,而不僅僅是靜態(tài)類型。 Identifier在運行時動態(tài)地賦予合適的對象。 閱讀全文
摘要: 讓我好好想想,AspectJ中最常用的切入點是什么?哦,也許是call(Method-Signature)吧。這是個相對簡單的方法簽名。實際上,方法簽名的完整形式如下:
[modifiers] [returnTypePattern] [DeclaredTypePattern.]methodName([Parameters])[throws TypePattern],其中方括號中的簽名組件是可選的。modifiers 為修飾符模式,returnTypePattern 為返回類型模式,DeclaredTypePattern 為類型聲明模式,methodName 為方法名稱,Parameters 為方法參數(shù),throws TypePattern 為throw字句。該文僅僅介紹 DeclaredTypePattern,因為相比之下其它模式比較簡單的多。
閱讀全文
[modifiers] [returnTypePattern] [DeclaredTypePattern.]methodName([Parameters])[throws TypePattern],其中方括號中的簽名組件是可選的。modifiers 為修飾符模式,returnTypePattern 為返回類型模式,DeclaredTypePattern 為類型聲明模式,methodName 為方法名稱,Parameters 為方法參數(shù),throws TypePattern 為throw字句。該文僅僅介紹 DeclaredTypePattern,因為相比之下其它模式比較簡單的多。
閱讀全文