• springboot 整合activemq


    1、配置连接信息

     引入maven信息

    <!-- 整合消息队列ActiveMQ -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-activemq</artifactId>
            </dependency>
    
            <!-- 如果配置线程池则加入 -->
            <dependency>
                <groupId>org.messaginghub</groupId>
                <artifactId>pooled-jms</artifactId>
            </dependency>
    
    
            <!--消息队列连接池-->
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-pool</artifactId>
                <version>5.15.0</version>
            </dependency>
    

      

     2、增加自定义配置

    QueueConfig.java
    package cn.activemq;
    
    import org.apache.activemq.command.ActiveMQQueue;
    import org.apache.activemq.command.ActiveMQTopic;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import javax.jms.Queue;
    import javax.jms.Topic;
    
    @Configuration
    @EnableJms public class QueueConfig { @Value("${queue}") private String queueName; @Value("${topic}") private String topicName; @Bean public Queue queue(){ return new ActiveMQQueue(queueName); } @Bean public Topic topic(){ return new ActiveMQTopic(topicName); } }

      

    生产者 

    Producter.java
    package cn.activemq;
    
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jms.core.JmsMessagingTemplate;
    import org.springframework.stereotype.Component;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import javax.jms.Queue;
    import javax.jms.Topic;
    import java.util.List;
    
    /**
     *  生产者
     */
    @Component
    public class Producter {
    
        @Autowired
        private JmsMessagingTemplate jmsMessagingTemplate;
    
        @Autowired
        private Queue queue;
    
        @Autowired
        private Topic topic;
    
        public void send1(String  msg){
            jmsMessagingTemplate.convertAndSend(queue, msg);
        }
    
    
        public void sendQuene(Weixin object){
            jmsMessagingTemplate.convertAndSend(queue, object);
        }
    
        public void sendTopic(Weixin object){
            jmsMessagingTemplate.convertAndSend(topic, object);
        }
    
    }
    

      

    消费者

    Consumer.java
    package cn.activemq;
    
    
    import org.springframework.jms.annotation.JmsListener;
    import org.springframework.stereotype.Component;
    
    import java.util.List;
    
    /**
     * 消费者
     */
    @Component
    public class Consumer {
    
    
    
        @JmsListener(destination = "${queue}")
        public void receive12(String str) {
            System.out.println(str);
            System.out.println(11121);
        }
    
        @JmsListener(destination = "${topic}")
        public void receive2(Object object) {
            System.out.println(object);
            System.out.println(1112);
        }
    
    
        @JmsListener(destination = "${topic}")
        public void receive3(List list) {
            System.out.println(list.size());
            System.out.println(11144);
        }
    }
    

      

    调用方式:

        /**
         * 注入
         */
        @Autowired
        private Producter producter;    
    
    
         /**
         * 调用
         */
        producter.sendQuene("11");
    

      

  • 相关阅读:
    GUI编程之贪吃蛇
    GUI编程之Swing
    Java学习笔记01
    软件测试之使用jmeter进行压力测试
    GitHub以及Git安装的使用
    Axure RP介绍
    结对编程之四则运算
    随心开始
    JAVA入门之简介
    input之File对象的简单介绍
  • 原文地址:https://www.cnblogs.com/pxblog/p/12227487.html
Copyright © 2020-2023  润新知