错误:jakarta.jms.JMSException:'void org.apache.qpid.proton.engine。 Transport.setOutboundFrameSizeLimit(int)

问题描述 投票:0回答:1

我正在尝试使用 SoapUI 5.7.2 和 Groovy 脚本向 Amazon ActiveMQ 代理发布消息。机器上已安装 Java 17。

以下是代码:

import org.apache.qpid.jms.JmsConnectionFactory;
import jakarta.jms.Connection;
import jakarta.jms.DeliveryMode;
import jakarta.jms.MessageProducer;
import jakarta.jms.Session;
import jakarta.jms.TextMessage;
import jakarta.jms.Topic;

JmsConnectionFactory factory = new JmsConnectionFactory("amqps://broker-url:5671");
factory.setUsername("username");
factory.setPassword("password");

Connection connection = factory.createConnection();
connection.start();

出现错误:

jakarta.jms.JMSException: 'void org.apache.qpid.proton.engine. Transport.setOutboundFrameSizeLimit(int)' error at Connection connection = factory.createConnection()

添加以下罐子:

  • 质子-j-0.34.1.jar
  • qpid-jms-client-2.5.0.jar
  • jakarta.jms-api-3.1.0.jar

有人可以指导一下这个错误的原因是什么以及如何解决这个问题吗?我们还需要通过 url 传递任何其他参数吗?

jms qpid
1个回答
0
投票

该错误很可能表明类路径问题,其中正在使用旧的(非常旧的 2018 年之前)质子-j 库。 “setOutboundFrameSizeLimit”方法是多年前添加到 proton-j v0.27.0 中的,如果类路径上的版本中不存在,则会抛出错误。

© www.soinside.com 2019 - 2024. All rights reserved.