Estou tentando postar uma mensagem para o corretor Amazon ActiveMQ usando SoapUI 5.7.2 e script Groovy. Java 17 está instalado na máquina.
Abaixo está o código:
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();
Obtendo um erro:
jakarta.jms.JMSException: 'void org.apache.qpid.proton.engine. Transport.setOutboundFrameSizeLimit(int)' error at Connection connection = factory.createConnection()
Os seguintes frascos são adicionados:
- próton-j-0.34.1.jar
- qpid-jms-client-2.5.0.jar
- Jacarta.jms-api-3.1.0.jar
Alguém poderia orientar qual pode ser a causa desse erro e como isso pode ser corrigido? Precisamos passar algum outro parâmetro com a URL?
O erro provavelmente indica um problema no Classpath onde uma biblioteca próton-j antiga (muito antiga antes de 2018) está sendo usada. O método 'setOutboundFrameSizeLimit' foi adicionado há muitos anos ao proton-j v0.27.0 e, se não estiver presente na versão do caminho de classe, gerará um erro.