SuperMap iServer數(shù)據(jù)動(dòng)態(tài)更新刷新地圖與數(shù)據(jù)服務(wù)

更新:2022年6月27日
SuperMap iServer 11i 底層修改邏輯,增加智能指針。11i版本不需要以下操作即可實(shí)現(xiàn)

一、使用背景

有這么一個(gè)需求,后端也就通過SuperMap iDesktop或數(shù)據(jù)庫更新了新增或更新某個(gè)數(shù)據(jù)地理信息后,服務(wù)端也就是SuperMap iServer無法實(shí)時(shí)查看到更新的數(shù)據(jù),原因是SuperMap iServer沒有主動(dòng)監(jiān)測第三方修改數(shù)據(jù)的變化(使用SuperMap iServer接口增刪改無該問題)
解決方式要么通過重啟SuperMap iServer解決,要么通過刪除服務(wù)重新發(fā)布解決,但是這兩種版本都比較麻煩,SuperMap iServer 10.1.3版本中可以通過調(diào)用SuperMap iServer Rest API的方式進(jìn)行刷新工作空間。

二、SuperMap iServer環(huán)境

2.1 使用SuperMap iServer版本

官網(wǎng)10.1.3及以上已經(jīng)同步該問題,建議使用官網(wǎng)正式版本。
以下為10.1.2臨時(shí)包:

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

下載地址:

2.2 使用方法

2.2.1 (10.2及之后的版本可以不設(shè)置)修改SuperMap iServer配置

10.2及之后的版本不需要在修改次操作,直接調(diào)用2.2.2刷新接口即可
修改%SuperMap iServer安裝目錄%\webapps\iserver\WEB-INF\iserver-system.xml

  • checkDatasourceConnectionInterval 檢查“數(shù)據(jù)庫型 工作空間”是否改變或“數(shù)據(jù)庫型數(shù)據(jù)源”是否斷開的時(shí)間間隔,單位為秒,默認(rèn)30s,如果數(shù)據(jù)體量較大,刷新時(shí)間間隔短,刷新耗時(shí)較大,多個(gè)刷新線程在排隊(duì),影響性能。
  • refreshDatasource 設(shè)置是否開啟刷新數(shù)據(jù)庫型數(shù)據(jù)源,默認(rèn)為false

修改成以下配置:

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

==修改完成后,重啟SuperMap iServer服務(wù)。==

2.2.2 數(shù)據(jù)更新后,通過SuperMap iServer RestAPI代碼刷新工作空間內(nèi)容

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 文件型工作空間路徑絕對路徑。如果是數(shù)據(jù)庫類型工作空間,請查看具體請查看SuperMap iServer 幫助文檔,例如oracle工作空間則填寫"server=orcl203;username=test;password=test;type=ORACLE;database=;name=testWorkSpace;driver=null"
  • pggis 為需刷新的數(shù)據(jù)源名稱
  • region_sum 為刷新數(shù)據(jù)集名稱,如果有多個(gè)數(shù)據(jù)源刷新為數(shù)組

例如:

1.刷新指定工作空間的內(nèi)容


2.返回結(jié)果為true代表刷新成功


2.2.3 驗(yàn)證服務(wù)

1.數(shù)據(jù)服務(wù)

workspacereload刷新前:


workspacereload刷新后:


2.地圖服務(wù)

由于SuperMap iServer默認(rèn)表述瀏覽(classic/leaflet等)有緩存,故需要使用iClient客戶端進(jìn)行驗(yàn)證,且iClient客戶對接地圖出圖設(shè)置==cacheEnabled: false==屬性。

例如:

workspacereload刷新前:


workspacereload刷新后:


(轉(zhuǎn)發(fā)請注明出處:http://m.itdecent.cn/u/829cbce64381 如發(fā)現(xiàn)有錯(cuò),請留言,謝謝)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容