From c7ea3633e49e501c33f668fc08fab2ffc0e3c38c Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期一, 18 八月 2025 18:10:28 +0800
Subject: [PATCH] 暂存0815
---
springboot/src/main/java/com/java110/boot/BootApplicationStart.java | 155 ++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 122 insertions(+), 33 deletions(-)
diff --git a/springboot/src/main/java/com/java110/boot/BootApplicationStart.java b/springboot/src/main/java/com/java110/boot/BootApplicationStart.java
index 3539138..dc41267 100644
--- a/springboot/src/main/java/com/java110/boot/BootApplicationStart.java
+++ b/springboot/src/main/java/com/java110/boot/BootApplicationStart.java
@@ -16,39 +16,38 @@
package com.java110.boot;
import com.java110.core.annotation.Java110CmdDiscovery;
-import com.java110.core.annotation.Java110ListenerDiscovery;
+import com.java110.core.client.OutRestTemplate;
import com.java110.core.client.RestTemplate;
+import com.java110.core.context.Environment;
import com.java110.core.event.cmd.ServiceCmdEventPublishing;
-import com.java110.core.event.service.api.ServiceDataFlowEventPublishing;
import com.java110.core.log.LoggerFactory;
import com.java110.core.trace.Java110FeignClientInterceptor;
import com.java110.core.trace.Java110RestTemplateInterceptor;
+import com.java110.doc.annotation.Java110ApiDocDiscovery;
+import com.java110.doc.annotation.Java110CmdDocDiscovery;
+import com.java110.doc.registrar.ApiDocCmdPublishing;
+import com.java110.doc.registrar.ApiDocPublishing;
+import com.java110.intf.dev.ICacheV1InnerServiceSMO;
import com.java110.service.init.ServiceStartInit;
-import io.swagger.annotations.ApiOperation;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.constant.MappingConstant;
+import com.java110.utils.factory.ApplicationContextFactory;
+import com.java110.utils.util.StringUtil;
import okhttp3.ConnectionPool;
import org.slf4j.Logger;
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.autoconfigure.liquibase.LiquibaseAutoConfiguration;
import org.springframework.boot.web.client.RestTemplateBuilder;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
-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;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
+import org.springframework.scheduling.annotation.EnableScheduling;
import javax.annotation.Resource;
import java.nio.charset.Charset;
@@ -58,23 +57,8 @@
/**
* 杩欎釜鏈嶅姟鏄皢 绯荤粺閮ㄧ讲涓簊pring boot鐗�
* 濡傛灉鏄痵pring cloud 寰湇鍔¢儴缃� 涓嶇敤鍚姩杩欎釜绫�
+ * <p>
*
- * excludeName = {
- "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"
- }
* @version v0.1
* @auther com.java110.wuxw
* @mail 928255095@qq.com
@@ -97,11 +81,16 @@
"com.java110.report",
"com.java110.store",
"com.java110.user",
+ "com.java110.doc",
+ "com.java110.scm",
+ "com.java110.api",
"com.java110.boot"
},
exclude = {LiquibaseAutoConfiguration.class,
org.activiti.spring.boot.SecurityAutoConfiguration.class,
- org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class}
+ org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class,
+ com.github.pagehelper.autoconfigure.MapperAutoConfiguration.class
+ }
)
@Java110CmdDiscovery(cmdPublishClass = ServiceCmdEventPublishing.class,
@@ -116,9 +105,29 @@
"com.java110.order.cmd",
"com.java110.report.cmd",
"com.java110.store.cmd",
+ "com.java110.scm.cmd",
"com.java110.user.cmd"
})
+@EnableScheduling
@EnableAsync
+//鏂囨。
+@Java110ApiDocDiscovery(basePackages = {"com.java110.boot.rest"}, apiDocClass = ApiDocPublishing.class)
+@Java110CmdDocDiscovery(basePackages = {
+ "com.java110.acct.cmd",
+ "com.java110.acct.payment.business",
+ "com.java110.common.cmd",
+ "com.java110.community.cmd",
+ "com.java110.dev.cmd",
+ "com.java110.fee.cmd",
+ "com.java110.job.cmd",
+ "com.java110.oa.cmd",
+ "com.java110.order.cmd",
+ "com.java110.report.cmd",
+ "com.java110.store.cmd",
+ "com.java110.scm.cmd",
+ "com.java110.user.cmd"
+},
+ cmdDocClass = ApiDocCmdPublishing.class)
public class BootApplicationStart {
private static Logger logger = LoggerFactory.getLogger(BootApplicationStart.class);
@@ -132,16 +141,54 @@
* @return restTemplate
*/
@Bean
- public RestTemplate outRestTemplate() {
+ public OutRestTemplate outRestTemplate() {
StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
+ m.setWriteAcceptCharset(false);
+ 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;
+ }
+
+ @Bean
+ //@LoadBalanced
+ public RestTemplate formRestTemplate() {
+ RestTemplate restTemplate = new RestTemplate();
+ restTemplate.getMessageConverters().add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
+ return restTemplate;
+ }
+
+ /**
+ * 瀹炰緥鍖朢estTemplate锛岄�氳繃@LoadBalanced娉ㄨВ寮�鍚潎琛¤礋杞借兘鍔�.
+ *
+ * @return restTemplate
+ */
+ @Bean
+ @LoadBalanced
+ public RestTemplate restTemplate() {
+ StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
+ m.setWriteAcceptCharset(false);
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;
}
@Bean
@ConditionalOnBean(Java110FeignClientInterceptor.class)
public okhttp3.OkHttpClient okHttpClient(@Autowired
- Java110FeignClientInterceptor okHttpLoggingInterceptor) {
+ Java110FeignClientInterceptor okHttpLoggingInterceptor) {
okhttp3.OkHttpClient.Builder ClientBuilder = new okhttp3.OkHttpClient.Builder()
.readTimeout(30, TimeUnit.SECONDS) //璇诲彇瓒呮椂
.connectTimeout(10, TimeUnit.SECONDS) //杩炴帴瓒呮椂
@@ -157,9 +204,51 @@
ApplicationContext context = SpringApplication.run(BootApplicationStart.class, args);
//鏈嶅姟鍚姩鍔犺浇
ServiceStartInit.initSystemConfig(context);
+
+ Environment.setSystemStartWay(Environment.SPRING_BOOT);
+
+ //鍒锋柊缂撳瓨
+// flushMainCache(args);
+
+ //鏈嶅姟鍚姩瀹屾垚
+ ServiceStartInit.printStartSuccessInfo();
+
+
} catch (Throwable e) {
logger.error("绯荤粺鍚姩澶辫触", e);
}
}
+
+
+ /**
+ * 鍒锋柊涓昏鐨勭紦瀛�
+ *
+ * @param args
+ */
+ private static void flushMainCache(String[] args) {
+
+ logger.debug("鍒ゆ柇鏄惁闇�瑕佸埛鏂版棩蹇楋紝鍙傛暟 args 涓� {}", args);
+
+ //鍥犱负濂藉鏈嬪弸鍚姩鏃� 涓嶅姞 鍙傛暟-Dcache 鎵�浠ュ惎鍔ㄦ椂妫�娴� redis 涓槸鍚﹀瓨鍦� java110_hc_version
+ //String mapping = MappingCache.getValue(MappingConstant.ENV_DOMAIN,"java110_hc_version");
+ String mapping = "";
+ if (StringUtil.isEmpty(mapping)) {
+ ICacheV1InnerServiceSMO devServiceCacheSMOImpl = (ICacheV1InnerServiceSMO) ApplicationContextFactory.getBean(ICacheV1InnerServiceSMO.class);
+ devServiceCacheSMOImpl.startFlush();
+ return;
+ }
+
+ if (args == null || args.length == 0) {
+ return;
+ }
+ for (int i = 0; i < args.length; i++) {
+ if (args[i].equalsIgnoreCase("-Dcache")) {
+ logger.debug("寮�濮嬪埛鏂版棩蹇楋紝鍏ュ弬涓猴細{}", args[i]);
+ ICacheV1InnerServiceSMO devServiceCacheSMOImpl = (ICacheV1InnerServiceSMO) ApplicationContextFactory.getBean(ICacheV1InnerServiceSMO.class);
+ devServiceCacheSMOImpl.startFlush();
+ }
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0