页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

1 概述

需求:某些项目中,要求Smartbi服务器这边提供一个servlet,请求该servlet会返回一段json字符串,来说明smartbi服务器是否能正常登陆、业务库是否异常是否、各种池是否正常。其作用是可以使得第三方系统能实时地获取Smartbi服务器的状态;从而监控Smartbi服务器的目的,一旦发生宕机,可以做出策略和通知,如发邮件通知管理员等。参考附件中的ServerStatus某些项目中,要求Smartbi服务器这边提供一个servlet,请求该servlet会返回一段json字符串,来说明smartbi服务器是否能正常登陆、业务库是否异常、各种池是否正常。其作用是可以使得第三方系统能实时地获取Smartbi服务器的状态,一旦发生宕机,可以做出策略和通知,如发邮件通知管理员等。参考附件中的ServerStatus.java文件。

代码块
title反馈的状态数据(JSON格式)
{
    "success": true,
    "returnObject": {
        "loginStatus": "能正常登陆",
        "dbStatus": "数据库正常",
        "DS.SmartbiUnionbase": "数据库正常",
        "DS.SYSTEM知识库": "数据库正常"
    }
}

 2 获取smartbi服务器是否能正常登陆

       一般情况下,在该servlet中,直接调用Smartbi的Sdk的ClientConnector类的open或openFromDB方法就可以;如果Smartbi接入到cas的话,用CASClientConnector类的  一般情况下,在该servlet中,直接调用Smartbi的Sdk中的ClientConnector类的open或openFromDB方法就可以;如果Smartbi接入到cas单点登陆平台的话,用CASClientConnector类的 open 方法。

      但此项目比较特殊,登录界面有验证码,一般的做法无法模拟成功登录。考虑到验证码是在业务代码里面执行,所以可以通过将调用模拟登录的代码写在业务代码之前即可。最后的做法是,添加一个filter,访问该servlet之前会访问filter;在filter中调用UserManagerModule的loginFromDB方法。将登录的结果放在request对象。参考附件中的SmartbiCheckLoginFilter.java文件。

...