SuperMap iServer数据动态更新刷新地图与数据服务

作者:张永利
更新:2022年6月27日
SuperMap iServer 11i 底层修改逻辑,增加智能指针。11i版本不需要以下操作即可实现

一、使用背景

有这么一个需求,后端也就通过SuperMap iDesktop或数据库更新了新增或更新某个数据地理信息后,服务端也就是SuperMap iServer无法实时查看到更新的数据,原因是SuperMap iServer没有主动监测第三方修改数据的变化(使用SuperMap iServer接口增删改无该问题)

解决方式要么通过重启SuperMap iServer解决,要么通过删除服务重新发布解决,但是这两种版本都比较麻烦,SuperMap iServer 10.1.3版本中可以通过调用SuperMap iServer Rest API的方式进行刷新工作空间。

二、SuperMap iServer环境

2.1 使用SuperMap iServer版本

官网10.1.3及以上已经同步该问题,建议使用官网正式版本。
以下为10.1.2临时包:

  • Linux:supermap_iserver_1012_19721_5526_linux64_deploy.tar.gz
  • Windows:supermap_iserver_1012_19721_5497_win64_deploy.zip

下载地址:

  • 链接:https://pan.baidu.com/s/1OhI72ebiCgRB_V_Y4QrUpg
  • 提取码:kpmo

2.2 使用方法

2.2.1 (10.2及之后的版本,这步可以省略)修改SuperMap iServer配置

修改%SuperMap iServer安装目录%\webapps\iserver\WEB-INF\iserver-system.xml

  • checkDatasourceConnectionInterval 检查“数据库型 工作空间”是否改变或“数据库型数据源”是否断开的时间间隔,单位为秒,默认30s,如果数据体量较大,刷新时间间隔短,刷新耗时较大,多个刷新线程在排队,影响性能。
  • refreshDatasource 设置是否开启刷新数据库型数据源,默认为false

修改成以下配置:

<checkDatasourceConnectionInterval>120</checkDatasourceConnectionInterval>
<refreshDatasource>true</refreshDatasource>

修改完成后,重启SuperMap iServer服务。

2.2.2 数据更新后,通过SuperMap iServer RestAPI代码刷新工作空间内容

1. 通过RestAPI操作必须先申请iServer Token

申请地址:

http://IP:8090/iserver/services/security/tokens

请添加图片描述

2.刷新工作空间

请求URL:

http://IP:8090/iserver/manager/workspaces/workspacereload.rjson?token=

POST请求

{
    "workspaceConnectionInfo": "/opt/zhui.sxwu",
    "isForce": true,
    "datasets": {
        "pggis": ["region_sum"]
    }
}

请求体说明:

  • workspaceConnectionInfo 文件型工作空间路径绝对路径。如果是数据库类型工作空间,请查看具体请查看SuperMap iServer 帮助文档,例如oracle工作空间则填写"server=orcl203;username=test;password=test;type=ORACLE;database=;name=testWorkSpace;driver=null"
  • pggis 为需刷新的数据源名称
  • region_sum 为刷新数据集名称,如果有多个数据源刷新为数组

例如:

1.刷新指定工作空间的内容
请添加图片描述

2.返回结果为true代表刷新成功
请添加图片描述

2.2.3 验证服务

1.数据服务

workspacereload刷新前:
请添加图片描述

workspacereload刷新后:
请添加图片描述

2.地图服务

由于SuperMap iServer默认表述浏览(classic/leaflet等)有缓存,故需要使用iClient客户端进行验证,且iClient客户对接地图出图设置cacheEnabled: false属性。

例如:

workspacereload刷新前:
请添加图片描述

workspacereload刷新后:
![请添加图片描述](https://img-blog.csdnimg.cn/1cca40cceaea414fb822721dfc58ec83.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nOTA1MjI=,size_16,color_FFFFFF,t_70

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值