作者 朱兆平

升级为feign访问服务进行消息转发,优化

@@ -171,5 +171,7 @@ feign: @@ -171,5 +171,7 @@ feign:
171 config: 171 config:
172 default: 172 default:
173 logger-level: FULL 173 logger-level: FULL
  174 + httpclient:
  175 + connection-timeout: 2000
174 176
175 177
@@ -29,7 +29,7 @@ public class MessageTransApplication { @@ -29,7 +29,7 @@ public class MessageTransApplication {
29 @Bean 29 @Bean
30 public TaskScheduler taskScheduler() { 30 public TaskScheduler taskScheduler() {
31 ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler(); 31 ThreadPoolTaskScheduler taskScheduler = new ThreadPoolTaskScheduler();
32 - taskScheduler.setPoolSize(100); 32 + taskScheduler.setPoolSize(10);
33 return taskScheduler; 33 return taskScheduler;
34 } 34 }
35 35
1 package com.tianbo.messagebus.myinterface; 1 package com.tianbo.messagebus.myinterface;
2 2
3 import com.tianbo.messagebus.controller.response.ResultJson; 3 import com.tianbo.messagebus.controller.response.ResultJson;
4 -import feign.Headers;  
5 -import feign.Param;  
6 import org.springframework.cloud.openfeign.FeignClient; 4 import org.springframework.cloud.openfeign.FeignClient;
7 import org.springframework.web.bind.annotation.*; 5 import org.springframework.web.bind.annotation.*;
8 6
9 -import java.util.List;  
10 7
11 @FeignClient(name = "kafka-server-consumer", 8 @FeignClient(name = "kafka-server-consumer",
  9 + url = "http://127.0.0.1:8088/",
12 fallback = KafkaReciveFallback.class ) 10 fallback = KafkaReciveFallback.class )
13 public interface KafkaReciveApi { 11 public interface KafkaReciveApi {
14 12
15 @ResponseBody 13 @ResponseBody
16 @RequestMapping(value = "/kafka/receive",method = RequestMethod.GET) 14 @RequestMapping(value = "/kafka/receive",method = RequestMethod.GET)
17 - ResultJson<List<String>> recive(@RequestParam(value = "username",required = true) String username); 15 + ResultJson recive(@RequestParam(value = "username",required = true) String username);
18 } 16 }
@@ -14,7 +14,7 @@ import java.util.List; @@ -14,7 +14,7 @@ import java.util.List;
14 public class KafkaReciveFallback implements KafkaReciveApi { 14 public class KafkaReciveFallback implements KafkaReciveApi {
15 15
16 @Override 16 @Override
17 - public ResultJson<List<String>> recive(String username) { 17 + public ResultJson recive(String username) {
18 log.info("获取消息失败"); 18 log.info("获取消息失败");
19 return new ResultJson<>("400","获取消息失败",new ArrayList<>()); 19 return new ResultJson<>("400","获取消息失败",new ArrayList<>());
20 } 20 }
@@ -24,6 +24,7 @@ import org.springframework.web.client.RestTemplate; @@ -24,6 +24,7 @@ import org.springframework.web.client.RestTemplate;
24 24
25 import javax.annotation.Resource; 25 import javax.annotation.Resource;
26 import java.io.Serializable; 26 import java.io.Serializable;
  27 +import java.util.ArrayList;
27 import java.util.List; 28 import java.util.List;
28 29
29 @Service 30 @Service
@@ -402,11 +403,14 @@ public class MessageBusProcessor { @@ -402,11 +403,14 @@ public class MessageBusProcessor {
402 public void getDataFromFeigin(){ 403 public void getDataFromFeigin(){
403 404
404 log.info("1-开始执行获取任务"); 405 log.info("1-开始执行获取任务");
405 - ResultJson<List<String>> listResultJson = kafkaReciveApi.recive("HYYW");  
406 - log.info("2-获取结果为:{},数量为:{}",listResultJson.toString(),listResultJson.getData().size());  
407 - if ("200".equals(listResultJson.getCode()) && listResultJson.getData()!=null && listResultJson.getData().size()>0){ 406 + ResultJson listResultJson = kafkaReciveApi.recive("HYYW");
  407 + List<String> dataList = new ArrayList<>();
  408 + if(listResultJson.getData() instanceof List){
  409 + dataList = (List) listResultJson.getData();
  410 + }
  411 + log.info("2-获取结果为:{},数量为:{}",listResultJson.toString(),dataList.size());
  412 + if ("200".equals(listResultJson.getCode()) && listResultJson.getData()!=null && dataList.size()>0){
408 log.info("3-开始处理获取数据"); 413 log.info("3-开始处理获取数据");
409 - List<String> dataList = listResultJson.getData();  
410 for (int i = 0; i <dataList.size() ; i++) { 414 for (int i = 0; i <dataList.size() ; i++) {
411 String msg = dataList.get(i); 415 String msg = dataList.get(i);
412 log.info("4-循环处理消息[{}]--->{}<---",i,msg); 416 log.info("4-循环处理消息[{}]--->{}<---",i,msg);