栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SSM (JDK 1.7) 使用Rabbit MQ

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SSM (JDK 1.7) 使用Rabbit MQ

导入jar包


※ rabbitMq各版本与jdk适配不一样, 本文指定适配jdk1.7,所以使用了4.12.0版本。其他JDK请自行适配对应jar包版本

rabbit 4.x 最低适配 jdk1.6
rabbit 5.x 最低适配 jdk1.8

设置spring-rabbit.xml配置文件

    
    
    

    
    

    
    

    
    
    
    
        
        	
            
            
        
    

    
    
        
        	
            
        
    

    
        
        	
            
            
        
    

    
    

    
    


    
    

    
    
        
    

    
    
        
        
        
        
        
        
        
        
        
            
        
        
        
    

消费者监听器
package com.yc.ssm.framwork.mq;

import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import java.nio.charset.StandardCharsets;


public class WorkOrderListener implements MessageListener {
    @Autowired
    RabbitTemplate rabbitTemplate;

    @Override
    public void onMessage(Message message) {
        try {
            String body = new String(message.getBody(), StandardCharsets.UTF_8);
            System.out.println("[work.order.queue] 队列消息 : " + body);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

消息生产者
package com.yc.ssm.framwork.mq;

import com.alibaba.fastjson.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.amqp.AmqpException;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessagePostProcessor;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Date;


@Component
public class MqWorkOrderSender {
    private final Logger logger = LoggerFactory.getLogger(MqWorkOrderSender.class);

    @Autowired
    private RabbitTemplate rabbitTemplate;
	
	
	public void send(String routeKey, Object data) {
		rabbitTemplate.convertAndSend(routeKey, data);
	}

	
    public void convertAndSendAtDelay(String exchange, String routeKey, Object data, final long delayTime) {
        rabbitTemplate.convertAndSend(exchange, routeKey, data,
                new MessagePostProcessor() {
                    @Override
                    public Message postProcessMessage(Message message) throws AmqpException {
                        //给消息设置延迟毫秒值
                        message.getMessageProperties().setTimestamp(new Date());
                        message.getMessageProperties().setExpiration(String.valueOf(delayTime));
                        return message;
                    }
                });
        logger.info("send delay object: {}", JSON.toJSONString(data));
    }
}

web.xml 设置扫描spring-rabbit.xml


  cyy
  
    contextConfigLocation
    
        classpath*:/applicationContext*.xml,
        classpath*:/spring-*.xml
    
  
  
    spring.profiles.default
    test
  
  
    shiroFilter
    org.springframework.web.filter.DelegatingFilterProxy
    
      targetFilterLifecycle
      true
    
  
  
    shiroFilter
    /*
    REQUEST
    FORWARD
  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    
      encoding
      UTF-8
    
    
      forceEncoding
      true
    
  
  
    encodingFilter
    /*
  
  
    org.springframework.web.util.IntrospectorCleanupListener
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    60
  
  
    springMvc
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:springMvc.xml
    
    1
  
  
    springMvc
    /
  
  
    captcha
    com.google.code.kaptcha.servlet.KaptchaServlet
  
  
    captcha
    /static/captcha.jpg
  
  
    DruidStatView
    com.alibaba.druid.support.http.StatViewServlet
  
  
    DruidStatView
    /druid/*
  
  
    default.jsp
    index.jsp
  
  
    
      *.jsp
      UTF-8
      false
      true
    
  

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/839060.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号