全局属性配置 |
在 SuperMap iServer 中, 配置系统全局性质的变量信息,可以通过“全局设置”页面进行设置,如服务设置、服务配置信息存储、临时资源存储设置。
访问 SuperMap iServer 服务管理器 WebManager,点击“全局设置”, 进入全局设置页面(http://localhost:8090/iserver/manager/globalsettings),即可对 iServer 中用到的全局性的变量进行配置:
服务设置参数 | 说明 |
缓存图片的输出路径 | 缓存图片的输出路径,默认为../webapps/iserver/output。 |
地图图片的发布站点 | 地图图片的发布站点,即访问缓存图片的根目录 URI,默认为 http://{ip}:{port}/iserver/output/。 |
表 1 服务设置参数说明
以上服务设置也可以通过系统配置文件来设置,请参考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
host:表示安装 PostgreSQL 的主机
第一个 all:主机上的所有数据库实例
第二个 all:所有用户
192.168.112.0/24 :表示可使用合法的用户信息来访问的网段,您可以将 '192.168.112.0' 替换为您期望的网段。
md5:验证方式
3.若配置使用 Oracle 类型的数据库,需要您手动将相关的 ojdbc 驱动包(建议版本为 ojdbc14-10.2.0.4.0.jar)放到 %SuperMap iServer_HOME%\webapps\iserver\WEB-INF\lib目录下。
此处以 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 的安装与配置。接入消息中间件后,需重启生效。
支持的中间件类型:【必选】支持的中间件类型为 RabbitMQ 。
服务地址:【必填】设置可用的 RabbitMQ Server 消息服务器地址,默认为 localhost:5672 。如果您的 RabbitMQ Server 与 GIS 服务器分别部署在了不同的服务器中,此处需要填写具体的 IP 地址或域名,如 :192.168.17.2:5672 。
用户名:【必填】预期可远程访问RabbitMQ Server 消息服务器所有者的用户名。
密码:【必填】预期可远程访问RabbitMQ Server 消息服务器所有者的密码。
注意:
1. RabbitMQ Server 默认创建了一个角色为 administrator 的名为 guest 的用户,它拥有 RabbitMQ 的所有权限。出于安全因素的考虑,guest 用户只能通过 localhost 登录使用,如果您需要远程连接 RabbitMQ Server,建议您创建自己的用户,设置密码,授予权限,并为其设置角色,如:管理员。具体配置请参见:RabbitMQ 的安装与配置。
2.设置消息中间件时,请注意界面上的提示信息,如提示“消息中间件连接失败,请检查连接信息是否有异常”,请按照提示检查连接信息。
SuperMap iServer 支持将临时资源存储在本地文件、数据库中,并支持设置存活时间阈值。在配置文件中设置临时文件存储请详见临时资源的存储与生命周期。此处将为您介绍如何在 iServer 全局设置页面中设置临时资源存储配置。
支持的存储类型:【必选】支持的存储类型包括 Encache、Redis、MongoDB、HSQLDB。
最大磁盘空间:【选择 Encache 存储类型时必填】最大磁盘空间默认为10 G,您可以按照实际情况进行调整。
最大内存:选择 Encache 存储类型时设置的最大内存,默认为100 M。
磁盘存储路径:磁盘的存储路径,默认为 java.io.tmpdir\tmpResources。
服务器地址:【当选择 Redis、MongoDB 以及不在本机上的 HSQLDB 时必填】数据库的服务地址,如 '192.168.17.217:27017'。
用户名:该数据库所有者的用户名。
密码:该数据库所有者的密码。
数据库名称:存储临时资源的数据库名称。
临时资源失效时间(小时):临时资源的失效时间,单位为小时。