Portal 開發讀書筆記 Cache

2021-09-21 21:17:54 字數 1290 閱讀 4662

為了提高訪問portal的速度,引入了cache ,在jsr-286規範裡面有兩種cache :

a.快取portlet資料 (比如ehcache)

注意,如果是要顯示實時資料的portlet不應該用data cache

b. 快取portlet內容 (快取的是portlet的內容而不是portal頁面的內容)

對於b,內容cache,有兩種型別:

基於超時(expiration-based)和基於校驗的(validation-based)內容cache.

(1) expiration-based 內容cache

實現方法<1>:在portlet.xml中如下配置 ,以秒作為單位

<

portlet

>

... 

<

expiration-cache

>

60expiration-cache

>

<

cache-scope

>

private

cache-scope

>

<

supports

>

... 

supports

>

... 

portlet

>

未超時的情況下,當portlet容器獲得渲染portlet的請求時候,他不會呼叫render方法,而是直接返回cache裡面的內容。如果超時了,則當獲得渲染請求時候,他會立刻呼叫render方法。

為public時候,這個cache的內容所有portal使用者可見,為private時候,這個cache內容只有指定使用者可見。

實現方法<2>:(可以覆蓋<1>)

public

abstract

inte***ce

cachecontrol 

(2) validation-based 內容cache

它是expiration-based cache的補充,當cache超時時候,它會進行校驗,如果portlet發現被cache的內容仍然合法,那麼它會讓portlet 容器繼續使用cache中的內容持續cache設的時間,如果校驗發現被cache的內容非法,則會產生新的內容。

每乙個被cache的內容都有乙個校驗令牌(token),它被portlet設定並且存於portlet容器中。當超時發生時,可以用getetag取出來並且和原來的進行比較。

但是,很多portlet容器並不支援validation-based cache,比如liferay 就不支援。

Portal 開發讀書筆記)程式設計式安全控制

像很多框架或者容器一樣,portlet的安全也可以用宣告式或者程式設計式,這裡談程式設計式。portletrequest 類定義了幾個方法和安全有關,用於表示對某個portlet請求時應用安全設定 public inte ce portletrequest 關於role的配置 首先在portlet....

敏捷開發讀書筆記

1 開始時需求要明確 2 盡早發布可執行的demo,持續進行整合 3 功能粒度要足夠低 4 架構可以隨時進行調整 5 測試驅動開發 6 持續整理 及架構重構 7 持續的速度,任務分解需要細緻 粒度要小,各個模組的任務完成要及時 有效 軟體之美在於它的功能,在於它的內部結構,還在於團隊建立它的過程。對...

Vue 開發讀書筆記

1.node.js安裝成功後 在鍵盤按下 win r 鍵,輸入cmd,然後回車,開啟cmd視窗,輸入node v和npm v即可顯示當前安裝的版本號,即表示安裝成功 2.安裝cnpm npm install g cnpm registry 然後等待。3.安裝vue cli 命令 npm instal...