Получить сообщения с помощью JMS API из RabbitMQ [Spring]
Есть два сервера. Один отправляет сообщения с помощью Spring AMQP. Другой сервер должен принимать сообщения с использованием JMS API. Вся проблема в том, что у RMQConnectionFactory нету метода createContext для того, чтобы создать JmsConsumer(насколько я понимаю, RabbitMQ не является поставщиком JMS, а также он не поддерживает сессии). И я не понимаю как можно создать его другим образом. Код класса конфигурации:
import com.example.projBLSS.rabbit_service.consuming.ConsumerMessageListener;
import com.rabbitmq.jms.admin.RMQConnectionFactory;
import com.rabbitmq.jms.admin.RMQDestination;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import javax.jms.*;
@Configuration
@Profile("stats")
public class JMSConfiguration {
@Bean
public ConnectionFactory jmsConnectionFactory() {
RMQConnectionFactory connectionFactory = new RMQConnectionFactory();
connectionFactory.setVirtualHost("/");
connectionFactory.setHost("localhost");
connectionFactory.setPort(5672);
return connectionFactory;
}
@Bean
public Destination jmsDestination() {
RMQDestination jmsDestination = new RMQDestination();
jmsDestination.setDestinationName("likes1");
jmsDestination.setAmqp(true);
jmsDestination.setAmqpQueueName("likes1");
return jmsDestination;
}
@Bean
public ConsumerMessageListener messageListener(){
return new ConsumerMessageListener();
}
@Bean
public JMSConsumer jmsConsumer() throws JMSException {
Connection connection = jmsConnectionFactory().createConnection();
JMSConsumer consumer = jmsConnectionFactory().createContext().createConsumer(jmsDestination());
consumer.setMessageListener(messageListener());
connection.start();
return consumer;
}
}