簡體   English   中英

AspectJ關於銷毀春豆的切入點

[英]Aspectj pointcut on spring bean destruction

是否可以在Java中執行在目標對象超出范圍或被銷毀時執行的AspectJ建議?

假設我們有一個類,該類具有與切入點表達式匹配的各種方法,並且已實現了緩存方面,以便所有方法調用的響應都已緩存。 緩存鍵是代理對象以及方法簽名和參數的串聯。 當目標對象被破壞時,我們想使緩存無效。

任何人都可以分享有關在銷毀該對象時如何執行建議的詳細信息嗎?

可能您在這里指的是緩存方面。

您不僅可以保留對表示方法調用的字符串的引用,還可以保留對要在其上緩存方法的實際對象的引用。 這里的重要部分是您必須使用弱引用,以免使相應的對象超出范圍。 您可以收集WeakHashMap所有對象並定期運行清理作業,以從實際緩存中刪除不存在的對象。

更新:我不是Spring用戶,但是Spring中可能還有生命周期方法/掛鈎,當組件超出范圍或以其他方式終止其生命周期時,可以觸發這些生命周期方法/掛鈎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM