2012-08-17 130 views
1

我們啓用了adhoc緩存,但我們正在使用自定義查詢執行器來檢索數據。對於jasperserver來說,它看起來像是使用一個數據源,而之前它可能是一個不同的數據源。將租戶ID和用戶ID添加到ad hoc緩存

我們爲jasperserver(4.7)0設置了多租戶設置。

在這我們有幾個adhoc視圖,這對每個租戶和用戶都是一樣的。我們有一個自定義的查詢執行器,以確保報表運行在正確的數據庫等。

但是,當我們打開adhoc緩存時,它會緩存某個adhoc視圖的結果。爲了防止其他用戶看到錯誤的數據(來自緩存),我們希望將tenantId和UserId添加到adhoc緩存鍵,或者可以從自定義查詢執行器中插入該參數。

有誰知道這是否可能?

問候, 彼得

回答

0

一個做的方式是,是創建自己的DefaultCacheKeyInterceptor的版本,並添加一個用戶對象(即使是在報告中沒有指定)。

然後編輯applicationContext-datarator.xml,並將keyInterceptor bean定義的類條目更改爲您自己的類。