使用SoapUI+Groovy连接Amazon ActiveMQ遇JMSException问题求助
问题分析与解决方案
错误成因
这个JMSException是qpid-jms-client和proton-j版本不兼容引发的方法签名不匹配问题。qpid-jms-client 2.5.0对proton-j的版本有特定要求,你使用的proton-j 0.34.1版本过高,其中Transport.setOutboundFrameSizeLimit方法的签名和客户端预期的不一致,导致调用时抛出错误。
修复步骤
- 替换proton-j版本:qpid-jms-client 2.5.0对应的兼容proton-j版本是0.33.8,把当前的
proton-j-0.34.1.jar换成proton-j-0.33.8.jar即可解决版本冲突问题。 - 保持其他依赖不变:
qpid-jms-client-2.5.0.jar和jakarta.jms-api-3.1.0.jar版本匹配,无需更换。
URL参数说明
你当前用的amqps://broker-url:5671格式没问题,针对Amazon ActiveMQ默认不需要额外参数。如果后续需要配置SSL相关的信任库、密钥库,可在URL后追加参数,示例:
amqps://broker-url:5671?transport.trustStoreLocation=/your/path/truststore.jks&transport.trustStorePassword=your-password
但你的当前错误和URL参数无关,优先处理版本兼容问题即可。
内容的提问来源于stack exchange,提问作者shivan
相关产品推荐
相关产品推荐

