全局属性配置

发送反馈


在 SuperMap iServer 中, 配置系统全局性质的变量信息,可以通过“全局设置”页面进行设置,如服务设置、服务配置信息存储、临时资源存储设置。

访问 SuperMap iServer 服务管理器 WebManager,点击“高级-全局设置”, 进入全局设置页面(http://localhost:8090/iserver/admin-ui/advanced/globalsettings),即可对 iServer 中用到的全局性的变量进行配置:

地图瓦片的缓存设置

表 1 服务设置参数说明

服务设置参数 说明
缓存图片的输出路径 缓存图片的输出路径,默认为../webapps/iserver/output。
地图图片的发布站点 地图图片的发布站点,即访问缓存图片的根目录 URI,默认为 http://{ip}:{port}/iserver/output/。注意,地图图片的发布站点应该为当前 iServer 应用的 IP 和 端口,且后两级资源路径(/iserver/output/)应该与缓存图片的输出路径保持一致。

以上服务设置也可以通过系统配置文件来设置,请参考iServer 配置文件说明

服务配置信息存储

在 SuperMap iServer 中,支持通过设置服务配置信息存储来选择将服务配置信息存储在数据库中或是配置文件中。修改配置后,需重启生效。

服务配置信息存储在配置文件中

服务配置信息存储在数据库中

注意:

1.由于部分版本的 PostgreSQL 的数据库服务只监听 Localhost 地址,当 iServer 与 PostgreSQL 不在同一机器时,可能会出现 iServer 连接 PostgreSQL 服务失败的情况。您需要配置 PostgreSQL 的配置文件 postgresql.conf,设置:

 listen_address='*'

表示允许其他机器通过 IP 或域名访问 PostgreSQL 数据库服务。

2. PostgreSQL 的安全策略默认仅允许本机的用户访问,当 iServer 与 PostgreSQL 不在同一机器时,可能会出现 iServer 使用 PostgreSQL 的系统用户访问不了 PostgreSQL 服务的情况。您需要在 pg_hba.conf 文件中添加访问策略,允许指定网段的主机可以访问,设置内容如下 :

host all all 192.168.112.0/24 md5

3.若配置使用 Oracle 类型的数据库,需要您手动将相关的 ojdbc 驱动包(建议版本为 ojdbc14-10.2.0.4.0.jar)放到 %SuperMap iServer_HOME%\webapps\iserver\WEB-INF\lib目录下。

4.当设置配置信息存储在数据库中后,建议也将其安全信息的存储也切换到数据库中,以避免其他 iServer 在共享该服务配置时出现安全权限冲突的问题。同时如某一 iServer 需要共享来自于其他 iServer(后称 iServer1) 存储在数据库中的配置信息,除需要将配置信息切换到 iServer1 的配置信息存储数据库,也需要将安全信息存储切换到 iServer1 安全信息存储的数据库。具体安全信息存储设置请参考:安全信息存储

5.当您需要使用同一份存储在数据库中的服务配置信息来启用多个 iServer 节点或通过旧有版本 iServer 的服务配置信息来启用新的 iServer 时,您需要保证新的 iServer 使用的 Token 共享密钥与旧有版本 iServer 的一致。登录服务管理器,访问“安全”>“安全配置”页面,可以查看或者修改当前 Token 共享密钥。您也可以在系统配置文件 iserver-system.xml 中进行查看修改。详情请见:设置Token的共享密钥

 

此处以 PostgreSQL 为例,说明数据库中存储信息的含义:

1、元数据表

元数据表以键值对的形式管理服务存储表的基本信息。

表名:iserver_v1_metainfos。

字段结构:

字段名

数据类型

是否必须

name

text

value

text

表 2 元数据字段结构及说明

字段(key)说明:

service.table.name:服务存储表的表名。

spaceversion:服务存储表的版本,不同的版本服务存储表的表结构不同。

主键:无。

举例:

name

value

service.table.name

iserver_v1_metainfos

spaceversion

 1.0

表 3 元数据表信息示例

2、服务存储表

服务存储表用来集中管理服务提供者、组件、提供者集合、组件集合、接口等配置信息。

表名:由用户自己定义,默认为iserver_v1_services。

字段结构:

字段名   

数据类型

是否必须

name

varchar

setting

text

type

varchar

timestamp

 varchar

enabled

varchar

extend

text

表 4 服务存储表字段结构

字段说明:

name:服务提供者、组件、接口、提供者集合、组件集合的名字。

type:服务配置的类型。提供者、提供者集合、组件、组件集合、接口分别对应Provider,ProviderSet,Component,ComponentSet,Interface。

setting: 服务配置的具体内容

timestamp:服务配置信息更新到数据库的时间。

enabled:提供者与组件的可用关系,其余服务配置类型默认为true。

extend:扩展内容

主键:name和type

举例:

name     

type setting timestamp enabled extend
map-Jingjin Provider

{

    "@type": "com.supermap.server.config.ProviderSetting",

    "config": {

        "@type": "com.supermap.services.providers.UGCMapProviderSetting",

        "cacheDisabled": false,

        "cacheVersion": "4.0",

        "extractCacheToFile": true,

        "ignoreHashcodeWhenUseCache": false,

        "inflatDisabled": false,

        "layerCountPerDataType": 0,

        "mapEditable": false,

        "mapNames": [],

        "multiInstance": false,

        "multiThread": true,

        "poolSize": 0,

        "preferedPNGType": "PNG",

        "queryExpectCount": 1000,

        "ugcMapSettings": [],

        "useCompactCache": false,

        "workspacePath": "E:/iserver/samples/data/City/Jingjin.sxwu"

    },

    "enabled": true,

    "name": "map-Jingjin",

    "type": "com.supermap.services.providers.UGCMapProvider"

}

2019-04-10 13:50:23   true  

表 5 服务存储表信息示例

注意:

前文中所有表名、字段名、表结构、示例均以 PostgreSQL 数据库为基础,Oracle 数据库稍有不同。不同点如下:

1、 Oracle 中所有表名、字段名均为大写,如元数据表表名为 ISERVER_V1_METAINFOS

2、 Oracle 中字段的数据类型与 PostgreSQL 不同。PostgreSQL 采用 varchar 和 text 数据类型对应 Oracle 为 varchar2 和 clob。

3、 Oracle 配置信息无需设置模式名。

 

消息中间件设置(已过时)

SuperMap iServer 支持接入消息中间件,支持多机之间共享服务配置以及服务状态,并可精确控制服务实例个数,实现服务在多机上的动态伸缩。目前支持的消息中间件为 RabbitMQ ,在接入消息中间件前,请确保您已安装 RabbitMQ,若没有,请参见:RabbiMQ 的安装与配置。您可以通过旧版 iServer 服务管理器,在“全局设置”处接入消息中间件,该设置需重启生效。

注意:

1. RabbitMQ Server 默认创建了一个角色为 administrator 的名为 guest 的用户,它拥有 RabbitMQ 的所有权限。出于安全因素的考虑,guest 用户只能通过 localhost 登录使用,如果您需要远程连接 RabbitMQ Server,建议您创建自己的用户,设置密码,授予权限,并为其设置角色,如:管理员。具体配置请参见:RabbitMQ 的安装与配置。

2.设置消息中间件时,请注意界面上的提示信息,如提示“消息中间件连接失败,请检查连接信息是否有异常”,请按照提示检查连接信息。

 

临时资源存储设置

SuperMap iServer 支持将临时资源存储在本地文件、数据库中,并支持设置存活时间阈值。在配置文件中设置临时文件存储请详见临时资源的存储与生命周期,支持的临时资源请参考临时资源列表。此处将为您介绍如何在 iServer 全局设置页面中设置临时资源存储配置。

服务实例动态化管理设置

SuperMap iServer 标准版、专业版、高级版提供了服务实例动态化管理,使得存量 GIS 服务达到数千量级以上时,iServer 仍然能够快速启动,服务发布、访问、管理流畅,且资源使用更集约。

如果您需要通过配置文件开启服务实例动态化管理功能,需要在【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF\iserver-system.xml 文件中添加 <serviceInstanceManager> 元素配置参数。具体方式详见:服务实例动态化管理参数配置

注意:

服务实例动态化管理设置需保存并重启 iServer 后才能生效。

在开启服务实例动态化管理功能后,除 iServer 的工具服务外,如数据目录服务、机器学习服务、处理自动化服务、Web打印服务等,您也可以单独设置某些服务实例不延迟初始化。即:随着 iServer 的启动,这些服务实例将立即初始化并启动。

您可以在 iServer 服务管理页面选择无需延迟初始化的服务并点击“关闭动态化管理”按钮,取消服务延迟初始化。也可以在【SuperMap iServer 安装目录】\webapps\iserver\WEB-INF\iserver-services.xml 文件中,找到无需延迟初始化的服务实例对应的组件进行配置,具体方式详见:开启动态化管理的服务组件配置