Я написал приложение Spring Boot, которое направлено на отправку и получение сообщения от JBoss Wildfly 10 ActiveMQ Artemis (ПРИМЕЧАНИЕ: не Apache ActiveMQ 5.x).Я запускаю этот код через Spring Tool Suite.
Я также настроил JBoss Wildfly 10 в своей локальной системе (на порту 8080) и запустил то же самое в standalone-full.xml
профиле, чтобы создать очередь с именем TestQ
в подсистемах обмена сообщениями Wildfly.
Далее я использовал JMSTemplate
в коде Spring Boot для отправки и потребления сообщения в вышеупомянутой очереди со следующими вещами в application.properties
:
spring.activemq.username=admin
spring.activemq.username=admin
spring.activemq.broker-url=http://localhost:8080
Тем не менее, я получаю Could not send message
ошибку при выполнении моего кода.
Подскажите, пожалуйста, какие изменения потребуются?
Моя основная цель - отправить и принять сообщениеиз этой внешней очереди с использованием Spring Boot.
Я пробовал альтернативы в сети, но каждый пример, который я получаю, касается Apache ActiveMQ, а не ActiveMQ Artemis, встроенного в JBoss Wildfly, который требуется.
Iиметь следующие 2 класса:
1.
@SpringBootApplication
@EnableJms
public class App {
@Bean
public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
DefaultJmsListenerContainerFactoryConfigurer configurer) {
DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
configurer.configure(factory, connectionFactory);
return factory;
}
public static void main(String[] args) {
// Launch the application
ConfigurableApplicationContext context = SpringApplication.run(App.class, args);
JmsTemplate jmsTemplate = context.getBean(JmsTemplate.class);
System.out.println("Sending a JMS message.");
jmsTemplate.convertAndSend("sampleQueue", "Hello world!");
}
}
2.
@Component
public class ReceiveMessage {
@JmsListener(destination = "sampleQueue")
public void receiveMessage(String msg) {
System.out.println("Received :" + msg);
}
}