<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-artemis</artifactId>
</dependency>
properties
spring.artemis.mode=embedded
spring.artemis.embedded.queues=myQueue
@Bean
public JmsTemplate jmsTemplate(ConnectionFactory connectionFactory) {
JmsTemplate jmsTemplate = new JmsTemplate(connectionFactory);
jmsTemplate.setDefaultDestinationName("myQueue");
return jmsTemplate;
}
@Component
public class MyMessageListener implements MessageListener {
public void onMessage(Message message) {
try {
String text = ((TextMessage) message).getText();
System.out.println("Received message: " + text);
} catch (JMSException e) {
e.printStackTrace();
}
}
}
@Bean
public MessageListenerContainer messageListenerContainer(ConnectionFactory connectionFactory,
MyMessageListener myMessageListener) {
DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.setDestinationName("myQueue");
container.setMessageListener(myMessageListener);
return container;
}
@Autowired
private JmsTemplate jmsTemplate;
public void sendMessage(String message) {
jmsTemplate.convertAndSend(message);
}