You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WAS8.5.5.12部署WKL7.1后服务不可用及同步异常问题问询

解决WAS 8.5.5.12 + Worklight 7.1运行时同步阻塞异常

从你描述的场景和日志来看,核心问题是Worklight的运行时同步进程卡住,导致管理API调用被阻塞,进而引发MSite的服务不可用提示。下面我会一步步拆解问题原因,并给出针对性的解决步骤:

一、先明确异常根源

日志里的@@@ Runtime synchronization in progress. Cannot return application runtime information是关键信号——Worklight的分布式事务同步机制(Two-Phase Commit相关)正在后台执行,但长时间无法完成,导致所有依赖运行时状态的管理请求被拒。而大量的FWLSE2014I工件下载日志,说明同步过程中正在批量拉取OTU仓库的资源,这很可能是卡住的直接诱因。

二、分步排查与解决

1. 确认同步是否真的陷入死循环

  • 先跟踪SystemOut.log中的下载日志:如果同一批工件反复出现下载记录,或者某个工件的下载长时间没有完成,说明同步流程已经卡住,要么是网络不通、要么是OTU仓库有问题,要么是WAS资源不够。
  • 检查WAS线程池状态:登录WAS控制台,进入Servers > Server Types > WebSphere application servers > [你的服务器] > Thread pools,查看Default和Worklight相关线程池的活动线程数和队列长度。如果线程池满了,同步任务根本无法推进。

2. 强制终止异常同步进程

如果确认同步卡住,先手动终止它:

  • 用WAS的JMX控制台(或者wsadmin脚本)找到Worklight的ProjectManagementMXBean,执行cancelRuntimeSynchronization方法,强制结束当前同步任务。
  • 如果JMX操作麻烦,直接重启Worklight运行时应用:在WAS控制台的Applications > Application Types > WebSphere enterprise applications里找到对应Worklight应用,先停再启。注意:这个操作会暂时中断服务,建议选维护窗口执行。

3. 检查OTU仓库的可用性

日志里的下载地址https://<>/wladmin/otu/1.0/...是Worklight的Over-The-Update仓库,必须确保它正常可用:

  • 在WAS所在服务器上用curl/wget测试这个URL,看能否正常下载到工件文件。
  • 如果是内部私有仓库,检查仓库的磁盘空间是否充足,文件权限是否正确(WAS运行用户要有读取权限)。

4. 调整Worklight同步配置参数

修改Worklight的worklight.properties配置文件,优化同步行为:

  • 增加同步超时:设置worklight.runtime.sync.timeout=300(单位秒,默认可能偏短,根据实际网络情况调整)
  • 限制并发下载数:设置worklight.runtime.sync.download.concurrent=5(减少同时下载的工件数量,避免占满WAS资源)
    修改后重启Worklight应用生效。

5. 扩容WAS的JVM资源

同步大量工件会消耗不少内存和CPU,检查WAS的JVM配置:

  • 进入WAS控制台Servers > Server Types > WebSphere application servers > [你的服务器] > Java and Process Management > Process definition > Java Virtual Machine,调大堆内存(比如初始堆1G,最大堆2G,根据服务器硬件配置调整),避免内存不足导致同步卡顿。

6. 验证那个10KB工件的合法性

虽然体积小,但也可能是工件本身有问题触发了异常同步:

  • 重新打包工件,检查适配器的XML配置、wlapp文件的完整性,确保没有格式错误。
  • 手动上传这个工件到Worklight控制台,看能否正常部署,排除工件本身的问题。

附你提供的同步异常日志

FFDC Exception:javax.management.RuntimeMBeanException SourceId:com.ibm.ws.management.AdminServiceImpl.invoke ProbeId:693 Reporter:com.ibm.ws.management.AdminServiceImpl$1@579b0a4c
javax.management.RuntimeMBeanException: java.lang.RuntimeException: @@@ Runtime synchronization in progress. Cannot return application runtime information
Caused by: java.lang.RuntimeException: @@@ Runtime synchronization in progress. Cannot return application runtime information
at com.worklight.twopc.runtime.RuntimeTransactionHandler.ensureSyncStatusIsOk(RuntimeTransactionHandler.java:512)
at com.worklight.mgmt.impl.ApplicationManagementImpl.getApplicationRuntimeInformation(ApplicationManagementImpl.java:170)
at com.worklight.core.jmx.ProjectManagementMXBeanImpl.getApplicationRuntimeInformation(ProjectManagementMXBeanImpl.java:1395)

FFDC Exception:javax.management.RuntimeMBeanException SourceId:com.ibm.ws.management.AdminServiceImpl.invoke ProbeId:422 Reporter:com.ibm.ws.management.AdminServiceImpl@75e1a753
javax.management.RuntimeMBeanException: java.lang.RuntimeException: @@@ Runtime synchronization in progress. Cannot get devices summary from runtime

内容的提问来源于stack exchange,提问作者bala_1980

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:45:16