作者 朱兆平

Merge remote-tracking branch 'origin/kafka' into kafka

@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*; @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*;
13 import javax.annotation.Resource; 13 import javax.annotation.Resource;
14 import java.io.IOException; 14 import java.io.IOException;
15 import java.util.List; 15 import java.util.List;
  16 +import java.util.concurrent.ExecutionException;
16 import java.util.concurrent.TimeoutException; 17 import java.util.concurrent.TimeoutException;
17 18
18 import static com.sunyo.wlpt.message.bus.service.common.Constant.EXIST_QUEUE_INFO; 19 import static com.sunyo.wlpt.message.bus.service.common.Constant.EXIST_QUEUE_INFO;
@@ -110,10 +111,11 @@ public class BusQueueController { @@ -110,10 +111,11 @@ public class BusQueueController {
110 * @return {@link ResultJson} 111 * @return {@link ResultJson}
111 */ 112 */
112 @PutMapping("/update") 113 @PutMapping("/update")
113 - public ResultJson updateBusQueue(@RequestBody BusQueue busQueue) 114 + public ResultJson updateBusQueue(@RequestBody BusQueue busQueue)throws ExecutionException, InterruptedException
114 { 115 {
115 // 先校验队列名称 116 // 先校验队列名称
116 String message = validateBusQueue(busQueue); 117 String message = validateBusQueue(busQueue);
  118 + kafkaService.ediPartition(busQueue);
117 return message == null 119 return message == null
118 ? busQueueService.updateByPrimaryKeySelective(busQueue) > 0 120 ? busQueueService.updateByPrimaryKeySelective(busQueue) > 0
119 ? new ResultJson<>("200", "编辑MQ消息队列信息,成功") 121 ? new ResultJson<>("200", "编辑MQ消息队列信息,成功")
1 package com.sunyo.wlpt.message.bus.service.service; 1 package com.sunyo.wlpt.message.bus.service.service;
2 2
  3 +import com.sunyo.wlpt.message.bus.service.domain.BusQueue;
3 import com.sunyo.wlpt.message.bus.service.model.ConsumerGroupOffsets; 4 import com.sunyo.wlpt.message.bus.service.model.ConsumerGroupOffsets;
4 5
5 import java.util.List; 6 import java.util.List;
  7 +import java.util.concurrent.ExecutionException;
6 8
7 public interface KafkaService { 9 public interface KafkaService {
8 10
@@ -15,6 +17,8 @@ public interface KafkaService { @@ -15,6 +17,8 @@ public interface KafkaService {
15 boolean addTopic(String TopicName,int partitionNum); 17 boolean addTopic(String TopicName,int partitionNum);
16 18
17 public void updateAdminclient(); 19 public void updateAdminclient();
  20 + //by xyh
  21 + boolean ediPartition(BusQueue record)throws ExecutionException, InterruptedException;
18 22
19 /** 23 /**
20 * topic信息消费状况监控监控 24 * topic信息消费状况监控监控
1 package com.sunyo.wlpt.message.bus.service.service.kafka; 1 package com.sunyo.wlpt.message.bus.service.service.kafka;
2 2
3 3
  4 +import com.sunyo.wlpt.message.bus.service.domain.BusQueue;
4 import com.sunyo.wlpt.message.bus.service.domain.BusServer; 5 import com.sunyo.wlpt.message.bus.service.domain.BusServer;
5 import com.sunyo.wlpt.message.bus.service.mapper.BusServerMapper; 6 import com.sunyo.wlpt.message.bus.service.mapper.BusServerMapper;
6 import com.sunyo.wlpt.message.bus.service.mapper.ConsumerGroupMapper; 7 import com.sunyo.wlpt.message.bus.service.mapper.ConsumerGroupMapper;
@@ -86,6 +87,17 @@ public class KafkaServiceImp implements KafkaService { @@ -86,6 +87,17 @@ public class KafkaServiceImp implements KafkaService {
86 KafkaAdmin admin = new KafkaAdmin(configs); 87 KafkaAdmin admin = new KafkaAdmin(configs);
87 KAFKA_ADMIN_CLIENT = AdminClient.create(admin.getConfig()); 88 KAFKA_ADMIN_CLIENT = AdminClient.create(admin.getConfig());
88 } 89 }
  90 +
  91 + @Override
  92 + public boolean ediPartition(BusQueue record) throws ExecutionException, InterruptedException{
  93 + Map<String, NewPartitions> newPartitions = new HashMap<>();
  94 + // 将MyTopic的Partition数量调整为2
  95 + newPartitions.put(record.getQueueName(), NewPartitions.increaseTo(record.getPartitionCount()));
  96 + CreatePartitionsResult result = KAFKA_ADMIN_CLIENT.createPartitions(newPartitions);
  97 + System.out.println(result.all().get());
  98 + return true;
  99 + }
  100 +
89 /** 101 /**
90 * 获取topicList 102 * 获取topicList
91 */ 103 */