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

WSO2 APIM启动失败:端口9999占用问题求助

WSO2 APIM 4.2.0启动9999端口占用问题的替代解决方案

针对你遇到的JMX端口9999被占用、杀进程后仍无法启动的问题,试试以下几个替代方案:

方案1:修改WSO2的JMX端口配置(永久解决)

  • 找到WSO2 APIM安装目录下的 repository/conf/deployment.toml 文件
  • 打开文件,添加或修改以下配置块,把默认的9999端口换成未被占用的端口(比如9998、9997):
    [jmx]
    rmi_registry_port = 9998
    rmi_server_port = 9997
    
  • 保存文件后,重新运行 api-manager.bat --run 启动服务

方案2:启动时强制指定JMX端口(临时应急)

  • 打开 bin/api-manager.bat 文件,找到设置JAVA_OPTS的位置
  • 在原有参数基础上添加JMX端口指定参数:
    set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=9998 -Dcom.sun.management.jmxremote.rmi.port=9997 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false %JAVA_OPTS%
    
  • 保存修改后,运行该脚本启动服务

方案3:深层排查端口占用

  • 以管理员身份打开命令提示符,执行命令查看9999端口的占用详情:
    netstat -ano | findstr :9999
    
  • 拿到对应的PID后,打开任务管理器的「详细信息」标签,找到该PID对应的进程(注意可能是系统服务或隐藏进程,普通kill命令可能没彻底终止)
  • 如果确认是无关进程,直接终止;如果是系统进程,优先用方案1修改WSO2端口,避免影响系统稳定性

后续Keycloak集成的注意事项

  • 提前规划端口:Keycloak默认用8080,WSO2 APIM默认用9443、8280等,确保两者端口范围不重叠
  • 后续配置Keycloak作为身份提供者时,在WSO2的deployment.toml中配置对应端点时,注意不要和现有端口冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:42:40