WSO2 API Manager 3.2.0启动报JMSListener错误的原因及解决方法
WSO2 API Manager 3.2.0启动JMS Provider连接失败问题解决办法
错误原因
启动时出现JMSListener Unable to continue server startup as it seems the JMS Provider is not yet started错误,核心是WSO2 APIM依赖的JMS Provider(默认内置Apache ActiveMQ Artemis)未正常启动,或连接配置有误导致无法建立连接。
解决步骤
检查端口占用
默认JMS Provider使用5672端口,先确认该端口是否被占用:- Linux/macOS:执行
lsof -i :5672查看占用进程,用kill -9 <PID>终止占用进程 - Windows:执行
netstat -ano | findstr 5672找到对应PID,在任务管理器中结束进程
- Linux/macOS:执行
调整JMS连接重试参数
若JMS Provider启动慢于APIM,可延长重试间隔和次数。编辑<APIM_HOME>/repository/conf/deployment.toml,添加或修改:[jms.listener] retry_interval = 30 # 重试间隔(秒) max_retry_attempts = 10 # 最大重试次数验证JMS连接配置
确认deployment.toml中的JMS连接参数正确,确保provider_url与Artemis监听端口一致:[transport.jms] connection_factory = "ConnectionFactory" parameter.initial_naming_factory = "org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory" parameter.provider_url = "tcp://localhost:5672"手动启动内置Artemis
如果内置JMS Provider未自动启动,可手动启动:- Linux/macOS:进入
<APIM_HOME>/bin目录,执行./broker.sh start - Windows:进入
<APIM_HOME>/bin目录,执行broker.bat start
待Artemis启动成功后,再启动WSO2 APIM。
- Linux/macOS:进入
内容的提问来源于stack exchange,提问作者Ali farahzadi
相关产品推荐
相关产品推荐

