zoukankan      html  css  js  c++  java
  • 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,成功接收消息

  • 相关阅读:
    oracle中的事务
    delect 删除
    update更新修改数据
    insert插入数据
    复制表、复制表结构、复制数据
    子查询
    分组函数
    C++实现红外Fir谱图文件转BMP图片文件
    windows下安装mysql-5.7.20-winx64
    数据库设计——数值类型
  • 原文地址:https://www.cnblogs.com/feiyangbahu/p/9843366.html
Copyright © 2011-2022 走看看