<managerRoot_uri>/globalsettings[.<format>]
全局属性配置。globalSettings 资源包含了全局属性的配置信息,如服务设置、服务配置信息存储、临时资源存储设置。通过 GET 操作可以获取当前全局属性的配置信息,通过 PUT 操作可更新全局属性的配置。在 iServer 页面进行全局属性配置请详见全局属性设置。
支持的方法:
支持的表述格式:RJSON、JSON。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiserver 是服务器名。
http://supermapiserver:8090/iserver/manager/globalsettings.rjson
获取全局设置的信息。
无
通过对 globalSettings 执行GET请求,响应参数如下:
字段 | 类型 | 说明 |
serviceStorage | ServiceStorageInfo | 服务配置存储信息 |
mqInfo | MQInfo | 消息中间件配置 |
repositorySetting | RepositorySetting | 临时资源存储设置信息 |
properties | Map<String, String> | 服务设置信息 |
其中临时资源存储的各返回参数含义如下:
临时资源存储类型 | 字段 | 类型 | 说明 |
Encache | maxElementsPerGroupInMemory | int | 每个分组,最多可在内存中保存的元素个数,默认值为 200 MB,如不设置表示不启用内存缓存 |
diskExpiryThreadIntervalSeconds | long | 检测保存在磁盘中的缓存过期的后台线程运行间隔时间, 默认是 2 分钟,即 2*60 秒 | |
name | String | 内存缓存的名称 | |
maxBytesOnHeap | String | 整个仓库最大占用的内存大小;当该字段与 maxElementsPerGroupInMemory 字段都不为 null ,优先使用 maxBytesOnHeap | |
diskStorePath | String | 磁盘存储路径,默认为 java.io.tmpdir\\tmpResources | |
maxBytesLocalDisk | String | 每个 Cache 最大的占用磁盘空间,默认为 10 GB | |
type | RepositoryType | 临时资源缓存的类型 | |
persistenceStrategy | String | 持久化策略,可选值:none, localtempswap 分别表示不持久化以及持久化到临时目录,并且在重启虚拟机后失效,默认为 localtempswap | |
diskSpoolBufferSizeMB | int | 回写到磁盘时的内存缓冲区大小 ,单位 30 MB | |
memoryStoreEvictionPolicy | String | 内存存储释放策略,支持三种策略,LRU,LFU,FIFO,默认为 LRU | |
Redis | password | String | 密码 |
port | int | 服务端口号 | |
host | String | 主机地址 | |
type | RepositoryType | 临时资源缓存的类型 | |
username | String | 用户名 | |
MongoDB | hoursOfExpireAfter | int | 存储在 MongoDB 数据库中的临时资源失效时间 |
password | String | 密码 | |
port | int | 服务端口号 | |
host | String | 主机地址 | |
type | RepositoryType | 临时资源缓存的类型 | |
username | String | 用户名 | |
dbName | String | 数据库名称 | |
HSQLDB | DEFAULT_PORT | int | 默认端口 |
startServer | boolean | 是否启用服务 | |
outputpath | String | 输出路径 | |
DEFAULT_HOST | String | 默认主机地址 | |
Caffeine | maximumSize | int | 最多可缓存的对象数量 |
xpireAfterAccess | double | 缓存实体被访问(读或者写)后的过期时间,单位为小时,默认为不过期 | |
type | RepositoryType | 临时资源缓存的类型 | |
PostgreSQL | cacheSize | int | 缓存个数 |
password | String | 密码 | |
port | int | 服务端口号 | |
host | String | 主机地址 | |
type | RepositoryType | 临时资源缓存的类型 | |
username | String | 用户名 | |
dbName | String | 数据库名称 |
对 globalSettings 资源:http://supermapiserver:8090/iserver/manager/globalsettings.rjson 执行 GET 请求,返回的全局设置信息如下:
{
"serviceStorage": {
"connInfo": {
"password": "SuperMap",
"minPoolSize": "5",
"driverClass": "oracle.jdbc.driver.OracleDriver",
"jdbcUrl": "jdbc:oracle:thin:@192.168.17.219:1521/orcl",
"maxWait": "3000",
"dbType": "ORACLE",
"maxIdleTime": "600",
"maxPoolSize": "30",
"initialPoolSize": "5",
"username": "SuperMap"
},
"metaTableName": "iserver_V1_METAINFOS",
"type": "ORACLE",
"version": null,
"tableName": "iserver_V1_SERVICES"
},
"mqInfo": {
"config": null,
"enabled": false,
"mqType": null
},
"repositorySetting": {
"maxElementsPerGroupInMemory": 0,
"diskExpiryThreadIntervalSeconds": 120,
"name": "smcache",
"maxBytesOnHeap": "200m",
"diskStorePath": "java.io.tmpdir\\tmpResources",
"maxBytesLocalDisk": "10g",
"type": "Ehcache",
"persistenceStrategy": "localtempswap",
"diskSpoolBufferSizeMB": 30,
"memoryStoreEvictionPolicy": "LRU"
},
"properties": {
"realspaceSecurityEnabled": "true",
"deniedFiles": "",
"outputPath": "./output",
"envCheckEnabled": "true",
"checkDatasourceConnectionInterval": "30",
"outputSite": "http://{ip}:{port}/{contextPath}/output/",
"restartWhenCrash": "true",
"refreshDatasource": "false",
"realspaceCacheAccessKey": "-116 -104 -55 -34 126 55 17 101 -71 90 -24 -17 -115 80 -56 -17"
}
}
更新全局设置的信息。
名称 | 类型 | 含义 |
repositorySetting | RepositorySetting | 临时资源存储设置信息
Encache参数说明: |
mqInfo | MQInfo | 消息中间件配置 |
serviceStorage | ServiceStorageInfo | 服务存储配置信息 |
properties | Map<String, String> | 一般全局属性设置信息 |
通过对 globalSettings 执行 PUT 请求,响应参数如下:
字段 | 类型 | 说明 |
succeed | Boolean | 更新全局设置信息是否成功 |
对 globalSettings 资源 http://localhost:8090/iserver/manager/GlobalSettings.rjson 执行 PUT 请求,传递请求体如下:
{
"repositorySetting": {
"maxBytesOnHeap": "200m",
"maxBytesLocalDisk": "10g",
"diskStorePath": "java.io.tmpdir\\tmpResources",
"type": "Ehcache"
},
"properties": {
"realspaceSecurityEnabled": "true",
"deniedFiles": "",
"outputPath": "./output",
"envCheckEnabled": "true",
"checkDatasourceConnectionInterval": "30",
"outputSite": "http://{ip}:{port}/{contextPath}/output/",
"restartWhenCrash": "true",
"refreshDatasource": "false",
"realspaceCacheAccessKey": "-116 -104 -55 -34 126 55 17 101 -71 90 -24 -17 -115 80 -56 -17"
},
"serviceStorage": {
"type": "ORACLE",
"connInfo": {
"password": "SuperMap",
"minPoolSize": "5",
"driverClass": "oracle.jdbc.driver.OracleDriver",
"jdbcUrl": "jdbc:oracle:thin:@192.168.17.219:1521/orcl",
"maxWait": "3000",
"dbType": "ORACLE",
"maxIdleTime": "600",
"maxPoolSize": "30",
"initialPoolSize": "5",
"username": "scott"
},
"tableName": "SuperMap_V1_SERVICES",
"metaTableName": "SuperMap_V1_METAINFOS"
}
}
返回的 rjson 格式响应结果如下:
{“succeed”:"True"}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 globalSettings 资源是否存在,或者客户端是否有权限访问 globalSettings 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 globalSettings 资源是否支持<format>格式的表述。