From 47b9f7a2708a63bbd09d65552ae8fc6d77b80b4d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 01 十二月 2024 03:03:24 +0800
Subject: [PATCH] 优化代码
---
service-api/src/main/java/com/java110/api/ApiApplicationStart.java | 85 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 76 insertions(+), 9 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/ApiApplicationStart.java b/service-api/src/main/java/com/java110/api/ApiApplicationStart.java
old mode 100644
new mode 100755
index 621c773..b1e2c65
--- a/service-api/src/main/java/com/java110/api/ApiApplicationStart.java
+++ b/service-api/src/main/java/com/java110/api/ApiApplicationStart.java
@@ -16,15 +16,24 @@
package com.java110.api;
import com.java110.core.annotation.Java110ListenerDiscovery;
+import com.java110.core.client.OutRestTemplate;
+import com.java110.core.context.Environment;
+import com.java110.core.trace.Java110FeignClientInterceptor;
+import com.java110.core.trace.Java110RestTemplateInterceptor;
import com.java110.core.client.RestTemplate;
import com.java110.core.event.service.api.ServiceDataFlowEventPublishing;
+import com.java110.core.log.LoggerFactory;
+import com.java110.doc.annotation.Java110ApiDocDiscovery;
+import com.java110.doc.registrar.ApiDocPublishing;
import com.java110.service.init.ServiceStartInit;
import io.swagger.annotations.ApiOperation;
+import okhttp3.ConnectionPool;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@@ -32,8 +41,9 @@
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.http.converter.StringHttpMessageConverter;
-
+import org.springframework.scheduling.annotation.EnableAsync;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
@@ -42,7 +52,9 @@
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
+import javax.annotation.Resource;
import java.nio.charset.Charset;
+import java.util.concurrent.TimeUnit;
/**
@@ -60,17 +72,40 @@
"com.java110.api",
"com.java110.core",
"com.java110.config.properties.code",
- })
+ "com.java110.doc",
+})
@EnableDiscoveryClient
@Java110ListenerDiscovery(listenerPublishClass = ServiceDataFlowEventPublishing.class,
basePackages = {"com.java110.api.listener"})
@EnableSwagger2
//@EnableConfigurationProperties(EventProperties.class)
-@EnableFeignClients(basePackages = {"com.java110.intf"})
+@EnableFeignClients(basePackages = {
+ "com.java110.intf.acct",
+ "com.java110.intf.code",
+ "com.java110.intf.common",
+ "com.java110.intf.community",
+ "com.java110.intf.demo",
+ "com.java110.intf.dev",
+ "com.java110.intf.fee",
+ "com.java110.intf.goods",
+ "com.java110.intf.job",
+ "com.java110.intf.oa",
+ "com.java110.intf.order",
+ "com.java110.intf.report",
+ "com.java110.intf.store",
+ "com.java110.intf.user"
+})
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class})
+@EnableAsync
+
+//鏂囨。
+@Java110ApiDocDiscovery(basePackages = {"com.java110.api.rest"},apiDocClass = ApiDocPublishing.class)
public class ApiApplicationStart {
private static Logger logger = LoggerFactory.getLogger(ApiApplicationStart.class);
+
+ @Resource
+ private Java110RestTemplateInterceptor java110RestTemplateInterceptor;
/**
* 瀹炰緥鍖朢estTemplate锛岄�氳繃@LoadBalanced娉ㄨВ寮�鍚潎琛¤礋杞借兘鍔�.
@@ -82,6 +117,13 @@
public RestTemplate restTemplate() {
StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
+ restTemplate.getInterceptors().add(java110RestTemplateInterceptor);
+ //璁剧疆瓒呮椂鏃堕棿
+ HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
+ httpRequestFactory.setConnectionRequestTimeout(10000);
+ httpRequestFactory.setConnectTimeout(10000);
+ httpRequestFactory.setReadTimeout(10000);
+ restTemplate.setRequestFactory(httpRequestFactory);
return restTemplate;
}
@@ -93,7 +135,15 @@
@Bean
public RestTemplate outRestTemplate() {
StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
- RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
+ OutRestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(OutRestTemplate.class);
+ restTemplate.getInterceptors().add(java110RestTemplateInterceptor);
+
+ //璁剧疆瓒呮椂鏃堕棿
+ HttpComponentsClientHttpRequestFactory httpRequestFactory = new HttpComponentsClientHttpRequestFactory();
+ httpRequestFactory.setConnectionRequestTimeout(10000);
+ httpRequestFactory.setConnectTimeout(10000);
+ httpRequestFactory.setReadTimeout(10000);
+ restTemplate.setRequestFactory(httpRequestFactory);
return restTemplate;
}
@@ -109,6 +159,20 @@
.select()
.paths(PathSelectors.any())
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).build();
+ }
+
+
+ @Bean
+ @ConditionalOnBean(Java110FeignClientInterceptor.class)
+ public okhttp3.OkHttpClient okHttpClient(@Autowired
+ Java110FeignClientInterceptor okHttpLoggingInterceptor){
+ okhttp3.OkHttpClient.Builder ClientBuilder = new okhttp3.OkHttpClient.Builder()
+ .readTimeout(30, TimeUnit.SECONDS) //璇诲彇瓒呮椂
+ .connectTimeout(10, TimeUnit.SECONDS) //杩炴帴瓒呮椂
+ .writeTimeout(60, TimeUnit.SECONDS) //鍐欏叆瓒呮椂
+ .connectionPool(new ConnectionPool(10 /*maxIdleConnections*/, 3, TimeUnit.MINUTES))
+ .addInterceptor(okHttpLoggingInterceptor);
+ return ClientBuilder.build();
}
/**
@@ -129,13 +193,16 @@
public static void main(String[] args) throws Exception {
- try{
+ try {
+ ServiceStartInit.preInitSystemConfig();
ApplicationContext context = SpringApplication.run(ApiApplicationStart.class, args);
-
//鏈嶅姟鍚姩鍔犺浇
ServiceStartInit.initSystemConfig(context);
- }catch (Throwable e){
- logger.error("绯荤粺鍚姩澶辫触",e);
+ Environment.setSystemStartWay(Environment.SPRING_CLOUD);
+ //鏈嶅姟鍚姩瀹屾垚
+ ServiceStartInit.printStartSuccessInfo();
+ } catch (Throwable e) {
+ logger.error("绯荤粺鍚姩澶辫触", e);
}
}
--
Gitblit v1.8.0