SpringBoot配置activemq消息隊列


1.配置pom相關依賴

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-activemq</artifactId>
       <version>1.5.4.RELEASE</version>
     </dependency>

2.在application.yml配置文件下配置相關信息

 spring:          #表示該配置直接為Spring容器負責處理 
jms: pub-sub-domain: false #配置消息的類型,如果是true則表示為topic消息,如果為false表示Queue消息 activemq: user: admin #連接用戶名 password: admin #連接密碼 broker-url: tcp://0.0.0.0:61616 #消息組件的連接主機信息

3.創建消費者代碼

import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Service;

@Service
public class MessageConsumerService {
    @JmsListener(destination = "mldn.msg.queue")
    public void receiveMessage(String text) {//進行消息接收處理
            System.err.println("接受消息"+text);
    }
}

4.建立生產者代碼

生產者接口:

public interface ImessageProducerService {
        public void sendMessage(String msg);
}

生產者實現:

import javax.annotation.Resource;
import javax.jms.Queue;

import org.springframework.jms.core.JmsMessagingTemplate;
import org.springframework.stereotype.Service;

import cn.mldn.microboot.producer.ImessageProducerService;
@Service
public class MessageProducerServiceImpl implements ImessageProducerService {
    @Resource
    private JmsMessagingTemplate jmsMessagingTemplate;
    @Resource
    private Queue queue;
    @Override
    public void sendMessage(String msg) {
        this.jmsMessagingTemplate.convertAndSend(this.queue,msg);;

    }

}

5.建立測試類

import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;

import cn.mldn.microboot.StartSpringBootMain;
import cn.mldn.microboot.producer.ImessageProducerService;

@SpringBootTest(classes = StartSpringBootMain.class)
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
public class TestActiveMQ {
    @Resource
    private ImessageProducerService messageProducer;
    @Test
    public void testSend() throws Exception{
        for (int i = 0; i < 103; i++) {
            this.messageProducer.sendMessage("mldn-"+i);
        }
    }
}

6.增加消息Queue的配置

import javax.jms.Queue;

import org.apache.activemq.command.ActiveMQQueue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jms.annotation.EnableJms;

@Configuration
@EnableJms
public class ActiveMQConfig {
    @Bean
    public Queue queue() {
        return new ActiveMQQueue("mldn.msg.queue");
    }
}

 

7.啟動activemq的服務,該服務可自行下載,我這里下載了一個Windows版本的,直接啟動就好。

8.登錄activmq,http://localhost:8161/admin/,用戶名密碼采用默認的,admin、admin。也可以在activmq的配置文件配置用戶

這樣我們就成功登錄。

最后進行測試,測試成功,查看activemq的Queues,成功接收消息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM