zoukankan      html  css  js  c++  java
  • 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=/

    成功打印消息

  • 相关阅读:
    笔记——文档在线阅读的解决方案(未完待续)
    杂记之web篇
    对针对接口编程的理解
    汇编笔记之 ret 、retf和call
    electron桌面应用
    wepack打包时出错不压缩代码及使用es7(async await)新语法问题
    npm install 时发生错误
    create-react-app 后使用babel/polyfill
    webpack3.x--react,jsx多页配置
    webpack--打包scss
  • 原文地址:https://www.cnblogs.com/zxf330301/p/9202631.html
Copyright © 2011-2022 走看看