# 高德地图向下兼容补丁包部署前配置操作文档
# 操作总览
当前补丁包为一个通用补丁包,覆盖 V8.2SP1 到 10.0SP1 系列环境。补丁包安装后,地图插件会在 OA 启动时自动完成以下事项:
- 创建或复用三方互信账号“高德地图API代理服务”。
- 自动补齐地图代理 REST 接口授权。
- 自动写入
_AMapService代理配置中的mapservice.channel-id和mapservice.channel-secret。 - 自动追加“系统定位服务设置”菜单,并删除旧的 M3“定位服务设置”菜单。
- 自动恢复本地扣减运行态,并注册运行态同步、订单维护、流量预警 Quartz。
现场部署前只需要确认代理配置文件中的 OA 地址和连接池等级,然后重启 OA/Tomcat。
# 一、修改代理配置
配置文件位置:
ApacheJetspeed/webapps/_AMapService/WEB-INF/classes/amap-gateway.properties
重点确认以下两项:
# OA 和 _AMapService 同机部署时使用 127.0.0.1。
# 只填写协议、IP 和 OA 实际 HTTP 端口,不要带 /seeyon。
mapservice.base-url=http://127.0.0.1:OA实际HTTP端口
# 连接池等级。不确定时使用 high;高并发客户可调整为 large。
mapservice.oapi.http.pool-level=high
示例:如果现场 OA 访问地址是:
http://10.2.178.15:80/seeyon
则配置为:
mapservice.base-url=http://127.0.0.1:80
mapservice.channel-id 和 mapservice.channel-secret 不需要手工填写。首次重启 OA 后会自动写入。
连接池等级说明:
| 等级 | 单路由最大连接数 | 总最大连接数 | 建议场景 |
|---|---|---|---|
standard | 50 | 100 | 小客户、低并发。 |
high | 150 | 300 | 推荐默认值,适合大多数客户。 |
large | 300 | 600 | 大客户或地图调用并发较高。 |
stress | 800 | 1600 | 压测或专项保障,不建议长期默认使用。 |
集群环境要求:
- 每个节点都要修改本节点
_AMapService下的amap-gateway.properties。 - 每个节点的
mapservice.base-url建议都配置为本机 OA 地址,例如http://127.0.0.1:80。 - 集群各节点 OA/代理服务端口建议保持一致,避免三方互信回调在不同节点表现不一致。
# 二、安装补丁并重启
- 使用补丁安装工具安装当前通用补丁包。
- 确认上一步的
amap-gateway.properties已配置正确。 - 重启 OA/Tomcat。
重启后地图插件会自动完成:
- 三方互信账号创建或复用。
- V8.2SP1 老机制
dataSynchronizationAccessInfo.properties授权补齐,或高版本dataSynchronizationInterfaces.txt + ctp_rest_access授权补齐。 - REST 资源组授权补齐。
channel-id/channel-secret写入代理配置。- 系统定位服务菜单调整。
- 本地扣减副本恢复和 Quartz 注册。
不需要手工创建三方互信,不需要手工执行 SQL,不需要手工修改 dataSynchronizationInterfaces.txt 或 dataSynchronizationAccessInfo.properties。
# 三、启动日志检查
重启后查看 OA 日志,优先搜索统一关键字:
AMAP_PATCH_STARTUP
Linux 示例:
grep -n "AMAP_PATCH_STARTUP" ApacheJetspeed/logs/ctp.log
如果日志按日期或大小滚动,扩大到日志目录搜索:
grep -R -n "AMAP_PATCH_STARTUP" ApacheJetspeed/logs
正常情况下,应能看到以下启动检查日志。SUCCESS_EXISTING、SUCCESS_DUPLICATED 表示任务已存在或重复注册被幂等处理,也属于正常。
| 模块 | 关键日志 | 正常状态 | 说明 |
|---|---|---|---|
| 菜单 metadata | module=mapservice-menu stage=finish | SUCCESS | 自动追加“系统定位服务设置”并删除旧 M3 定位菜单。 |
| 三方互信 | module=mapservice-channel stage=finish | SUCCESS | 创建或复用三方互信账号,并写入代理配置。 |
| 授权机制 | module=mapservice-channel stage=access-mode | mode=LEGACY 或 mode=MODERN | LEGACY 表示旧 properties 机制,MODERN 表示高版本 ctp_rest_access 机制。 |
| 代理配置写入 | module=mapservice-channel stage=gateway-config | SUCCESS | 确认 channel-id / channel-secret 已同步到 _AMapService 配置。 |
| REST 资源授权 | module=mapservice-rest-auth stage=finish | SUCCESS | 低版本 REST 资源组和三方互信资源授权补齐。 |
| 地图配置启动 | module=mapservice-config stage=finish | SUCCESS | 原 M3 配置迁移、License 初始化等启动流程完成。 |
| 流量预警 Quartz | module=mapservice-warning stage=finish | SUCCESS / SUCCESS_DUPLICATED | 注册每天 9 点流量预警任务。 |
| 本地扣减装配 | module=flowmanagement-license stage=finish | SUCCESS | 本地扣减运行态恢复和后台任务装配完成。 |
| 四副本恢复 | module=license-restore stage=finish | SUCCESS | 启动时完成运行态副本恢复,集群环境会走锁保护。 |
| 运行态同步 Quartz | module=license-runtime-sync stage=finish | SUCCESS / SUCCESS_EXISTING | 注册四副本同步任务。 |
| 订单维护 Quartz | module=license-order-maintenance stage=finish | SUCCESS / SUCCESS_EXISTING | 注册云联订单/免费订单维护任务。 |
重点确认以下几类日志:
AMAP_PATCH_STARTUP module=mapservice-channel stage=finish status=SUCCESS
AMAP_PATCH_STARTUP module=mapservice-config stage=finish status=SUCCESS
AMAP_PATCH_STARTUP module=flowmanagement-license stage=finish status=SUCCESS
如果某个模块出现 FAILED、PARTIAL_FAILED、FAILED_FALLBACK_LEGACY,继续查看同一行的 reason=,再结合该行前后的完整异常栈定位。
# 四、功能验证
- 登录 OA 后台,确认菜单中存在“系统定位服务设置”。
- 打开“系统定位服务设置”,保存 A 模式或 B 模式配置。
- 触发一次真实地图定位,确认请求地址走
_AMapService。 - 查看代理日志。
代理日志默认目录:
ApacheJetspeed/temp/_AMapService/logs
如果现场配置了 JVM 参数 -Damap.log.home,则查看该参数指定的目录。
常用日志文件:
amap-network.log
amap-exception.log
# 五、常见问题定位
| 现象 / 启动日志 | 优先检查项 |
|---|---|
module=mapservice-channel stage=finish status=FAILED | 三方互信账号创建失败。检查 OA 三方互信相关表是否可写、systemChannelManager 是否正常装配。 |
module=mapservice-channel stage=gateway-config status=FAILED | _AMapService/WEB-INF/classes/amap-gateway.properties 不存在或无写权限;确认补丁目录和文件权限。 |
module=mapservice-channel stage=access-modern status=FAILED_FALLBACK_LEGACY | 高版本授权写入失败并回退旧机制。检查 dataSynchronizationInterfaces.txt、ctp_rest_access 表、相关权限和完整异常栈。 |
module=mapservice-channel stage=access-legacy status=FAILED | 旧版本授权文件写入失败。检查 ApacheJetspeed/webapps/seeyon/WEB-INF/cfgHome/base/dataSynchronizationAccessInfo.properties 所在目录权限。 |
module=mapservice-rest-auth stage=authorize status=SKIPPED reason=NO_CHANNEL | 没读取到三方互信 channelId。优先看 mapservice-channel 是否成功,以及授权映射是否写入。 |
module=mapservice-menu stage=finish status=PARTIAL_FAILED | 菜单 metadata 部分文件调整失败。查看失败文件路径和异常栈,重点检查 XML 格式和文件权限。 |
| 后台没有“系统定位服务设置”菜单 | 搜索 module=mapservice-menu;如果 metadata 文件缺失较多,确认现场版本目录结构是否和补丁适配范围一致。 |
module=mapservice-config stage=license-init status=FAILED | A 模式 License 初始化失败。继续搜索 module=flowmanagement-license、module=license-restore 和完整异常栈。 |
module=flowmanagement-license stage=finish status=FAILED | 本地扣减启动装配失败。重点看四副本恢复、订单维护、Quartz 注册相关异常。 |
module=license-restore stage=finish status=FAILED | 运行态四副本恢复失败。检查数据库副本、文件副本目录权限、副本是否不一致。 |
module=license-runtime-sync stage=finish status=SKIPPED reason=GATE_NOT_READY | License 门禁未 READY,运行态同步任务不会注册。继续看 license-restore 是否失败或 A 模式是否尚未初始化。 |
module=license-order-maintenance stage=finish status=SKIPPED reason=GATE_BLOCKED | 订单维护被门禁阻断。先处理 License 恢复/初始化问题。 |
| 页面一直转圈或提示缺少代理会话 | OA 日志中是否出现 mapservice-channel status=SUCCESS;amap-gateway.properties 中 channel-id/secret 是否已自动写入。 |
| 返回“接口访问未授权” | 三方互信自动初始化是否成功;确认 mapservice-channel、mapservice-rest-auth 都是正常状态。 |
| channel token 回调超时 | mapservice.base-url 的端口是否正确;从 OA 服务器本机访问 _AMapService/_callback/channel-token 是否可达。 |
| 代理访问 OA 失败 | mapservice.base-url 是否只填写到端口,且不要带 /seeyon。 |
| 地图定位仍未走代理 | 确认补丁包已覆盖 _AMapService 和微协同中转页面;清理移动端/H5 缓存后重新进入页面。 |
编撰人:het