簡體   English   中英

使用 Spring 引導向 JMS 隊列發送消息

[英]Send message to a JMS queue using Spring Boot

我是 Spring JMS 的新手。 我的應用程序是使用 Spring Boot 開發的,並部署在 JBoss EAP 7.2.0 中。 我有一個遠程隊列,它是一個 Active MQ Artemis 隊列,它也嵌入在 JBoss EAP 7.2.0 中。 誰能建議我如何使用 Spring Boot 的 JmsTemplate 向遠程 JMS 隊列發送消息? 基本上我不知道應該如何定義遠程 connectionFactory 以連接到遠程隊列。

  1. 當您的應用程序部署在應用程序服務器中時,將以下內容添加到應用程序屬性
  spring.jms.jndi-name=java:/<your connection factory name for artemis>
  1. 添加artemis依賴並讓spring啟動自動配置jmsTemplate
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-artemis</artifactId>
   </dependency>
  1. 自動裝配 jmsTemplate 並發送消息
@Component
public class MyMessageSender {

        @Autowired
        JmsTemplate jmsTemplate;


        public void send(String msg){
                jmsTemplate.convertAndSend("my.queue.name", msg);
        }
}
  1. 或者,您可以配置消息轉換器並將 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;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM