- Добавьте следующее в свойства приложения, когда ваше приложение развернуто на сервере приложений
spring.jms.jndi-name=java:/<your connection factory name for artemis>
Добавьте зависимость artemis и позвольте spring автоматически настраивать jmsTemplate
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-artemis</artifactId>
</dependency>
Autowire jmsTemplate и отправить сообщение
@Component
public class MyMessageSender {
@Autowired
JmsTemplate jmsTemplate;
public void send(String msg){
jmsTemplate.convertAndSend("my.queue.name", msg);
}
}
При желании вы можете настроить конвертеры сообщений и отправлять pojos как сообщения, и пусть Spring позаботится о его преобразовании в json. Например,
@Bean // Serialize message content to json using TextMessage
public MessageConverter jacksonJmsMessageConverter() {
MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
converter.setTargetType(MessageType.TEXT);
converter.setTypeIdPropertyName("_type");
return converter;
}