saiku 实时展现查询数据

让SaiKu实时展现查询数据

在默认的情况下,saiku是不能对数据进行实时展现的,只能通过下图的刷新按钮或者重启服务器来刷新数据,这样以来会有很多的麻烦,每天得手动去刷新,这个操作只有管理员可以操作,在刷新以前客户看到的都是缓存中的旧数据,有人说写个shell去定时更新不行吗?这个做法当然可以。除了这个做法,我来说说我的做法,让saiku查询完数据后即时加载,不用数据库连接池,加载完成后立刻清除缓存中的数据,系统下次在加载的时候发现缓存是空的,就会自动去查询新数据,这样以来就可以做到实时展现,

具体修改如下:
编辑 saiku/ui/js/saiku/Settings.js

LOCALSTORAGE_EXPIRATION: 10 * 60 * 60 * 1000 /* 10 hours, in ms */

修改后

LOCALSTORAGE_EXPIRATION: 1

编辑 saiku/plugin.spring.xml

<bean id="connectionManager" class="org.saiku.plugin.PentahoSecurityAwareConnectionManager" init-method="init"  destroy-method="destroy">
    <property name="dataSourceManager" ref="pentahoDsManager" />
    <property name="userAware" value="false" />
    <property name="connectionPooling" value="true" />
</bean>

修改后

<bean id="connectionManager" class="org.saiku.plugin.PentahoSecurityAwareConnectionManager" init-method="init"  destroy-method="destroy">
    <property name="dataSourceManager" ref="pentahoDsManager" />
    <property name="userAware" value="false" />
    <property name="connectionPooling" value="false" />
</bean>

编辑mondrian/mondrian.properties
修改前

# Boolean property that controls whether a RolapStar's aggregate data cache is cleared after each query.
mondrian.rolap.star.disableCaching=false

修改后

# Boolean property that controls whether a RolapStar's aggregate data cache is cleared after each query.
mondrian.rolap.star.disableCaching=true

最后,重新应用服务器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,765评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 2017年3月25日 今天6点就起床了。 收拾一下屋子,因为现在有更多时间来学会生活了?辞职前,每天6点起床,,简...
    家家jia阅读 151评论 0 1
  • 【译者注】Shopify是一家位于加拿大渥太华的电商软件开发公司,专门为中小零售商提供建立网店的Saas服务,能对...
    moriarty77阅读 570评论 0 2