传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.2.3 RabbitmqConfig配置类
消息队列设置如下:
1、创建“ex_cms_postpage”交换机
2、每个Cms Client创建一个队列与交换机绑定
3、每个Cms Client程序配置队列名称和routingKey,将站点ID作为routingKey。
[AppleScript] 纯文本查看 复制代码
package com.xuecheng.manage_cms_client.config;  
 import org.springframework.amqp.core.*; 
import org.springframework.beans.factory.annotation.Qualifier; 
import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration;  
 /**  * @author Administrator  * @version 1.0  **/ @Configuration public class RabbitmqConfig {   
  //队列bean的名称     
public static final String QUEUE_CMS_POSTPAGE = "queue_cms_postpage";  
   //交换机的名称 
    public static final String EX_ROUTING_CMS_POSTPAGE="ex_routing_cms_postpage"; 
    //队列的名称    
 @Value("${xuecheng.mq.queue}")   
  public  String queue_cms_postpage_name;   
  //routingKey 即站点Id   
  @Value("${xuecheng.mq.routingKey}")   
  public  String routingKey;   
  /**  
    * 交换机配置使用direct类型  
    * @return the exchange   
   */   
  @Bean(EX_ROUTING_CMS_POSTPAGE)  
   public Exchange EXCHANGE_TOPICS_INFORM() {      
   return ExchangeBuilder.directExchange(EX_ROUTING_CMS_POSTPAGE).durable(true).build();  
   }     
//声明队列 
    @Bean(QUEUE_CMS_POSTPAGE)  
   public Queue QUEUE_CMS_POSTPAGE() {    
     Queue queue = new Queue(queue_cms_postpage_name);   
      return queue;  
   }    
   /**  
    * 绑定队列到交换机  
    *  
    * @param queue  
  the queue  
    * @param exchange the exchange

[AppleScript] 纯文本查看 复制代码
 * @return the binding    
  */    
 @Bean  
   public Binding BINDING_QUEUE_INFORM_SMS(@Qualifier(QUEUE_CMS_POSTPAGE) Queue queue,  @Qualifier(EX_ROUTING_CMS_POSTPAGE) Exchange exchange) {  
       return BindingBuilder.bind(queue).to(exchange).with(routingKey).noargs();   
  }
 }  

1.2.4 定义消息格式
消息内容采用json格式存储数据,如下:
页面id:发布页面的id

[AppleScript] 纯文本查看 复制代码
{   
  "pageId":"" 
}

1.2.5 PageDao
1、使用CmsPageRepository 查询页面信息

[AppleScript] 纯文本查看 复制代码
public interface CmsPageRepository extends MongoRepository<CmsPage,String> { 
}

2、使用CmsSiteRepository查询站点信息,主要获取站点物理路径

[AppleScript] 纯文本查看 复制代码
public interface CmsSiteRepository extends MongoRepository<CmsSite,String> {
 }


分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马