1

我们启用了临时缓存,但我们使用自定义查询执行器来检索数据。对于 jasperserver,它看起来像是在使用一个数据源,而它可能与以前不同。

我们有一个 jasperserver (4.7)0 的多租户设置。

在此,我们有几个临时视图,对于每个租户和用户来说都是相同的。我们有一个自定义查询执行器,可确保报告在正确的数据库等上运行。

但是当我们打开 adhoc 缓存时,它会缓存某个 adhoc 视图的结果。为了防止其他用户看到错误的数据(来自缓存),我们希望将tenantId 和 UserId 添加到临时缓存键中,或者可能从自定义查询执行器中插入该参数。

有人知道这是否可能吗?

问候,彼得

4

1 回答 1

0

一种方法是创建您自己的 DefaultCacheKeyInterceptor 版本,并添加一个用户对象(即使报告中没有指定)。

然后编辑applicationContext-datarator.xml,把keyInterceptor bean定义的class entry改成你自己的class。

于 2012-08-21T16:19:57.033 回答