• spring boot整合activemq消息中间件


    spring boot整合activemq消息中间件

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>zxf-active</groupId>
      <artifactId>zxf-active</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      
      
       <parent>  
              <groupId>org.springframework.boot</groupId>  
                 <artifactId>spring-boot-starter-parent</artifactId>  
                <version>1.5.2.RELEASE</version>  
                <relativePath/> <!-- lookup parent from repository -->  
             </parent>  
           
             <properties>  
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  
                 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>  
                 <java.version>1.8</java.version>  
             </properties>         
             <dependencies>  
                 <dependency>  
                     <groupId>org.springframework.boot</groupId>  
                     <artifactId>spring-boot-starter-activemq</artifactId>  
                 </dependency> 
                   <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                </dependency>
           
                 <dependency>  
                     <groupId>org.springframework.boot</groupId>  
                     <artifactId>spring-boot-starter-test</artifactId>  
                     <scope>test</scope>  
                 </dependency>  
             </dependencies>  
             <build>  
                 <plugins>  
                     <plugin>  
                         <groupId>org.springframework.boot</groupId>  
                         <artifactId>spring-boot-maven-plugin</artifactId>  
                     </plugin>  
                 </plugins>  
             </build>
      
    </project>
    package com.newtouch.active.service;
    
    import javax.jms.Destination;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jms.core.JmsTemplate;
    import org.springframework.stereotype.Service;
    
    @Service("JmsProducer")
    public class JmsProducer {
        
         @Autowired // 也可以注入JmsTemplate,JmsMessagingTemplate对JmsTemplate进行了封装  
         private JmsTemplate jmsTemplate;  
         // 发送消息,destination是发送到的队列,message是待发送的消息  
         public void sendMessage(Destination destination, final String message){  
                 jmsTemplate.convertAndSend(destination, message);  
         }  
    }
    package com.newtouch.active.service;
    
    import org.springframework.jms.annotation.JmsListener;
    import org.springframework.stereotype.Component;
    
    @Component
    public class JmsConsumer {
         // 使用JmsListener配置消费者监听的队列,其中text是接收到的消息  
        @JmsListener(destination = "mytest.queue")
        public void receiveQueue(String text) {
            System.out.println("Consumer收到的报文为:"+text); 
        }  
    }
    package com.newtouch.active.controller;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import javax.jms.Destination;
    
    import org.apache.activemq.command.ActiveMQQueue;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.newtouch.active.service.JmsProducer;
    
    @RestController
    @RequestMapping("/active")
    public class ActiveController {
    
        @Autowired
        private JmsProducer jmsProducer;
        
        @RequestMapping("/test")
        private Map<String, Object> test(){
            Map<String, Object> resultMap = new HashMap<String, Object>();
            
            Destination destination = new ActiveMQQueue("mytest.queue");
            for(int i=0; i<100; i++){
                jmsProducer.sendMessage(destination, "myname is chhliu!!!");
            }  
            
            resultMap.put("code", "1");
            return resultMap;
        }
         
        
    }
    spring.activemq.broker-url=tcp://localhost:61616
    spring.activemq.user=admin
    spring.activemq.password=admin
    spring.activemq.in-memory=true
    spring.activemq.pool.enabled=false
    
    spring.application.name=SERVICE-ACTIVE
    server.port=8090
    server.contextPath=/

    成功打印消息

  • 相关阅读:
    LeetCode 275. H-Index II
    LeetCode 274. H-Index
    LeetCode Gray Code
    LeetCode 260. Single Number III
    LeetCode Word Pattern
    LeetCode Nim Game
    LeetCode 128. Longest Consecutive Sequence
    LeetCode 208. Implement Trie (Prefix Tree)
    LeetCode 130. Surrounded Regions
    LeetCode 200. Number of Islands
  • 原文地址:https://www.cnblogs.com/zxf330301/p/9202631.html
Copyright © 2020-2023  润新知