(四)java B2B2C 源码多租户电子商城系统-spring+springmvc+kafka分布式消息中间件集成方案

kafka消息平台使用spring+kafka的集成方案,详情如下:

  1. 使用最高版本2.1.0.RELEASE集成jar包:spring-integration-kafka

  2. Zookeeper、Kafka分布式集群使用init.properties配置化方案。

kafka.servers=127.0.0.1:9092    
kafka.topic=xxxooo  
  1. 使用消息生产者spring-context-producer配置化方案。
    
   
  
  
      
      
          
              
                  
                  
                  
                  
                  
                  
                  
                  
              
          
      
  
      
      
          
              
          
      
  
      
      
          
          
          
      
  

  1. 使用消息消费者spring-context-producer配置化方案。
    
   
  
  
      
      
          
              
                  
                  
                  
                  
                  
                  
                  
              
          
      
  
      
      
          
              
          
      
  
      
      
  
      
      
          
          
      
  
      
      
          
          
      
    
  1. 使用注解方式注入消息类型

@Autowired
private KafkaTemplate kafkaTemplate;

  1. 重写MessageListener 的getMessage方法获取消息(业务实现)

  2. RestFul服务方式测试消息服务

@CrossOrigin(origins = "*", maxAge = 3600, methods = { RequestMethod.GET, RequestMethod.POST, RequestMethod.DELETE,  
        RequestMethod.PUT })  
@RestController  
@RequestMapping(value = "/rest/kafka")  
public class KafKaProducer {  
      
    @RequestMapping(value = "/send", method = RequestMethod.GET)  
    public JSONObject save() {  
        System.out.println("+++++++++++++++++++++++++++++++");  
        kafkaTemplate.sendDefault("HongHu KAFKA分布式消息服务测试");    
        return null;  
    }  
      
    @Autowired    
    private KafkaTemplate kafkaTemplate;  
      
    
  
}  
@RestController  
public class KafKaConsumer implements MessageListener {  
  
    @Autowired  
    private LogService logService;  
    public void onMessage(ConsumerRecord records) {  
        System.out.println("====================" + records);  
        Object o = records.value();  
        Log log = new Log();  
        log.setIsNewRecord(true);  
        log.setId(IdGen.uuid());  
        log.setTitle(String.valueOf(o));  
        logService.save(log);  
  
    }  
  
}  

接受消息了------------------:ConsumerRecord(topic = xxxooo, partition = 0, offset = 2489, CreateTime = 1479647648299, checksum = 3372898135, serialized key size = -1, serialized value size = 40, key = null, value = HongHu KAFKA分布式消息服务测试)

到此结束!

欢迎大家和我一起学习spring cloud构建微服务云架构,我这边会将近期研发的spring cloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。

你可能感兴趣的:((四)java B2B2C 源码多租户电子商城系统-spring+springmvc+kafka分布式消息中间件集成方案)