我正在尝试使用 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()
添加以下罐子:
有人可以指导一下这个错误的原因是什么以及如何解决这个问题吗?我们还需要通过 url 传递任何其他参数吗?
该错误很可能表明类路径问题,其中正在使用旧的(非常旧的 2018 年之前)质子-j 库。 “setOutboundFrameSizeLimit”方法是多年前添加到 proton-j v0.27.0 中的,如果类路径上的版本中不存在,则会抛出错误。