# 高德地图向下兼容补丁包部署前配置操作文档

# 操作总览

当前补丁包为一个通用补丁包,覆盖 V8.2SP1 到 10.0SP1 系列环境。补丁包安装后,地图插件会在 OA 启动时自动完成以下事项:

  • 创建或复用三方互信账号“高德地图API代理服务”。
  • 自动补齐地图代理 REST 接口授权。
  • 自动写入 _AMapService 代理配置中的 mapservice.channel-idmapservice.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-idmapservice.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/代理服务端口建议保持一致,避免三方互信回调在不同节点表现不一致。

# 二、安装补丁并重启

  1. 使用补丁安装工具安装当前通用补丁包。
  2. 确认上一步的 amap-gateway.properties 已配置正确。
  3. 重启 OA/Tomcat。

重启后地图插件会自动完成:

  • 三方互信账号创建或复用。
  • V8.2SP1 老机制 dataSynchronizationAccessInfo.properties 授权补齐,或高版本 dataSynchronizationInterfaces.txt + ctp_rest_access 授权补齐。
  • REST 资源组授权补齐。
  • channel-id / channel-secret 写入代理配置。
  • 系统定位服务菜单调整。
  • 本地扣减副本恢复和 Quartz 注册。

不需要手工创建三方互信,不需要手工执行 SQL,不需要手工修改 dataSynchronizationInterfaces.txtdataSynchronizationAccessInfo.properties

# 三、启动日志检查

重启后查看 OA 日志,优先搜索统一关键字:

AMAP_PATCH_STARTUP

Linux 示例:

grep -n "AMAP_PATCH_STARTUP" ApacheJetspeed/logs/ctp.log

如果日志按日期或大小滚动,扩大到日志目录搜索:

grep -R -n "AMAP_PATCH_STARTUP" ApacheJetspeed/logs

正常情况下,应能看到以下启动检查日志。SUCCESS_EXISTINGSUCCESS_DUPLICATED 表示任务已存在或重复注册被幂等处理,也属于正常。

模块 关键日志 正常状态 说明
菜单 metadata module=mapservice-menu stage=finish SUCCESS 自动追加“系统定位服务设置”并删除旧 M3 定位菜单。
三方互信 module=mapservice-channel stage=finish SUCCESS 创建或复用三方互信账号,并写入代理配置。
授权机制 module=mapservice-channel stage=access-mode mode=LEGACYmode=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

如果某个模块出现 FAILEDPARTIAL_FAILEDFAILED_FALLBACK_LEGACY,继续查看同一行的 reason=,再结合该行前后的完整异常栈定位。

# 四、功能验证

  1. 登录 OA 后台,确认菜单中存在“系统定位服务设置”。
  2. 打开“系统定位服务设置”,保存 A 模式或 B 模式配置。
  3. 触发一次真实地图定位,确认请求地址走 _AMapService
  4. 查看代理日志。

代理日志默认目录:

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.txtctp_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-licensemodule=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=SUCCESSamap-gateway.propertieschannel-id/secret 是否已自动写入。
返回“接口访问未授权” 三方互信自动初始化是否成功;确认 mapservice-channelmapservice-rest-auth 都是正常状态。
channel token 回调超时 mapservice.base-url 的端口是否正确;从 OA 服务器本机访问 _AMapService/_callback/channel-token 是否可达。
代理访问 OA 失败 mapservice.base-url 是否只填写到端口,且不要带 /seeyon
地图定位仍未走代理 确认补丁包已覆盖 _AMapService 和微协同中转页面;清理移动端/H5 缓存后重新进入页面。
编撰人:het