代码优化-升级springboot版本和其中的hikar连接池
This commit is contained in:
@@ -12,7 +12,6 @@ spring:
|
||||
connection-test-query: select 1
|
||||
max-lifetime: 0
|
||||
connection-timeout: 30000
|
||||
data:
|
||||
mongodb:
|
||||
host: 118.194.255.128
|
||||
port: 27017
|
||||
|
@@ -2,10 +2,20 @@ package com.accompany.business.config;
|
||||
|
||||
import com.accompany.business.elasticsearch.ElasticsearchClientV2;
|
||||
import com.accompany.business.elasticsearch.ElasticsearchRestClient;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.http.auth.AuthScope;
|
||||
import org.apache.http.auth.UsernamePasswordCredentials;
|
||||
import org.apache.http.client.CredentialsProvider;
|
||||
import org.apache.http.impl.client.BasicCredentialsProvider;
|
||||
import org.elasticsearch.client.RestClient;
|
||||
import org.elasticsearch.client.RestClientBuilder;
|
||||
import org.elasticsearch.client.RestHighLevelClient;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.context.annotation.DependsOn;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "elasticsearch")
|
||||
@@ -60,14 +70,40 @@ public class ElasticsearchConfig {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
@Bean(initMethod = "init",name = "elasticsearchRestClient")
|
||||
public ElasticsearchRestClient elasticsearchRestClient(ElasticsearchConfig elasticsearchConfig) {
|
||||
return new ElasticsearchRestClient(elasticsearchConfig);
|
||||
@Bean
|
||||
public RestClient restClient(){
|
||||
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
|
||||
if (StringUtils.isNotEmpty(username) && StringUtils.isNotEmpty(password)) {
|
||||
credentialsProvider.setCredentials(AuthScope.ANY,
|
||||
new UsernamePasswordCredentials(username, password));
|
||||
}
|
||||
return RestClient.builder(new HttpHost(hostName, port))
|
||||
.setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider)).build();
|
||||
}
|
||||
|
||||
@Bean(initMethod = "init",name = "elasticsearchClientV2")
|
||||
public ElasticsearchClientV2 elasticsearchClientV2(ElasticsearchConfig elasticsearchConfig) {
|
||||
return new ElasticsearchClientV2(elasticsearchConfig);
|
||||
@Bean
|
||||
public RestHighLevelClient restHighLevelClient(){
|
||||
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
|
||||
if (StringUtils.isNotEmpty(username) && StringUtils.isNotEmpty(password)) {
|
||||
credentialsProvider.setCredentials(AuthScope.ANY,
|
||||
new UsernamePasswordCredentials(username, password));
|
||||
}
|
||||
RestClientBuilder restClientBuilder = RestClient.builder(new HttpHost(hostName, port))
|
||||
.setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));
|
||||
return new RestHighLevelClient(restClientBuilder);
|
||||
}
|
||||
|
||||
@Primary
|
||||
@Bean("elasticsearchRestClient")
|
||||
@DependsOn("restClient")
|
||||
public ElasticsearchRestClient elasticsearchRestClient(ElasticsearchConfig elasticsearchConfig, RestClient restClient) {
|
||||
return new ElasticsearchRestClient(elasticsearchConfig, restClient);
|
||||
}
|
||||
|
||||
@Bean("elasticsearchClientV2")
|
||||
@DependsOn("restHighLevelClient")
|
||||
public ElasticsearchClientV2 elasticsearchClientV2(ElasticsearchConfig elasticsearchConfig, RestHighLevelClient restHighLevelClient) {
|
||||
return new ElasticsearchClientV2(elasticsearchConfig, restHighLevelClient);
|
||||
}
|
||||
|
||||
public String getUserIndex() {
|
||||
|
@@ -35,8 +35,9 @@ public class ElasticsearchClientV2 {
|
||||
private final Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").create();
|
||||
private final String ES_LINE_BREAK = "\n";
|
||||
|
||||
public ElasticsearchClientV2(ElasticsearchConfig elasticsearchConfig){
|
||||
public ElasticsearchClientV2(ElasticsearchConfig elasticsearchConfig, RestHighLevelClient restHighLevelClient){
|
||||
this.elasticsearchConfig = elasticsearchConfig;
|
||||
this.restClient = restHighLevelClient;
|
||||
}
|
||||
|
||||
public void init(){
|
||||
|
@@ -44,8 +44,9 @@ public class ElasticsearchRestClient {
|
||||
private final Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").create();
|
||||
private final String ES_LINE_BREAK = "\n";
|
||||
|
||||
public ElasticsearchRestClient(ElasticsearchConfig elasticsearchConfig){
|
||||
public ElasticsearchRestClient(ElasticsearchConfig elasticsearchConfig, RestClient restClient){
|
||||
this.elasticsearchConfig = elasticsearchConfig;
|
||||
this.restClient = restClient;
|
||||
}
|
||||
|
||||
public void init(){
|
||||
|
@@ -571,7 +571,7 @@ public class RoomPKService extends BaseService {
|
||||
//查询最新一条的PK模式
|
||||
Query query = new Query();
|
||||
query.addCriteria(Criteria.where("roomUid").is(roomUid))
|
||||
.with(new Sort(Sort.Direction.DESC,"createTime"));
|
||||
.with(Sort.by(Sort.Direction.DESC, "createTime"));
|
||||
query.skip(0).limit(1);
|
||||
List<RoomPK> list = roomPkDAO.findByQuery(query);
|
||||
|
||||
@@ -609,7 +609,7 @@ public class RoomPKService extends BaseService {
|
||||
pkStatus.add(Constant.RoomPKStatus.FINISH);
|
||||
pkStatus.add(Constant.RoomPKStatus.FORCE_FINISH);
|
||||
query.addCriteria(Criteria.where("roomUid").is(roomUid).and("endTime").lt(System.currentTimeMillis()).and("pkStatus").in(pkStatus))
|
||||
.with(new Sort(Sort.Direction.DESC,"createTime"));
|
||||
.with(Sort.by(Sort.Direction.DESC, "createTime"));
|
||||
long count = roomPkDAO.count(query);
|
||||
query.skip(start).limit(pageSize);
|
||||
List<RoomPK> list = roomPkDAO.findByQuery(query);
|
||||
|
@@ -5,12 +5,11 @@ spring:
|
||||
username: root
|
||||
password: anan@dev##
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
hikari:
|
||||
minimum-idle: 10
|
||||
maximum-pool-size: 20
|
||||
connection-test-query: select 1
|
||||
max-lifetime: 0
|
||||
connection-timeout: 30000
|
||||
data:
|
||||
mongodb:
|
||||
host: 118.194.255.128
|
||||
|
@@ -0,0 +1,12 @@
|
||||
task:
|
||||
checkUserTime: 0/30 * * * * ?
|
||||
beforeDay: 30
|
||||
size: 5
|
||||
startTime: 2019-03-01 00:00:00
|
||||
updatePrizeTime: 0/5 * * * * ?
|
||||
prizeSize: 50
|
||||
updateHotValueTime: 0/5 * * * * ?
|
||||
updateLimit: 20
|
||||
updateAuditCount: 0/30 * * * * ?
|
||||
sumPurseTime: 0/30 * * * * ?
|
||||
financeTime: 0/30 * * * * ?
|
4
pom.xml
4
pom.xml
@@ -24,7 +24,7 @@
|
||||
<parent>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-parent</artifactId>
|
||||
<version>2.1.1.RELEASE</version>
|
||||
<version>2.3.12.RELEASE</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
@@ -53,7 +53,7 @@
|
||||
<apache.commons.version>3.3.2</apache.commons.version>
|
||||
<commons-pool2.version>2.4.2</commons-pool2.version>
|
||||
<oro.version>2.0.8</oro.version>
|
||||
<spring-cloud.version>Greenwich.SR2</spring-cloud.version>
|
||||
<spring-cloud.version>Hoxton.SR12</spring-cloud.version>
|
||||
<qiniu.version>7.6.0</qiniu.version>
|
||||
<nacos.config.version>0.2.2.RELEASE</nacos.config.version>
|
||||
<okhttp.version>3.10.0</okhttp.version>
|
||||
|
@@ -1,144 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true" scanPeriod="60 seconds">
|
||||
<!--引入默认的一些设置-->
|
||||
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
|
||||
<!--web信息-->
|
||||
<logger name="org.springframework.web" level="info"/>
|
||||
|
||||
<!--写入日志到控制台的appender,用默认的,但是要去掉charset,否则windows下tomcat下乱码-->
|
||||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
|
||||
<property name="LOG_HOME" value="/data/java/weblog/accompany-business"/>
|
||||
|
||||
|
||||
|
||||
<appender name="info_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/web_info.log</file>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>INFO</level>
|
||||
</filter>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/rolling/web_info.%d{yyyy-MM-dd}.%i.log.gz
|
||||
</fileNamePattern>
|
||||
<maxHistory>90</maxHistory>
|
||||
<cleanHistoryOnStart>true</cleanHistoryOnStart>
|
||||
<timeBasedFileNamingAndTriggeringPolicy
|
||||
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>256MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<charset>UTF-8</charset>
|
||||
<pattern>%date [%thread] [%file:%line] [%level %logger{0}] - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
|
||||
<appender name="warn_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/web_warn.log</file>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>WARN</level>
|
||||
</filter>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/rolling/web_warn_.%d{yyyy-MM-dd}.%i.log.gz
|
||||
</fileNamePattern>
|
||||
<maxHistory>90</maxHistory>
|
||||
<cleanHistoryOnStart>true</cleanHistoryOnStart>
|
||||
<timeBasedFileNamingAndTriggeringPolicy
|
||||
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>256MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<charset>UTF-8</charset>
|
||||
<pattern>%date [%thread] [%file:%line] [%level %logger{0}] - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
|
||||
<appender name="error_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_HOME}/web_error.log</file>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>ERROR</level>
|
||||
</filter>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOG_HOME}/rolling/web_error_.%d{yyyy-MM-dd}.%i.log.gz
|
||||
</fileNamePattern>
|
||||
<maxHistory>90</maxHistory>
|
||||
<cleanHistoryOnStart>true</cleanHistoryOnStart>
|
||||
<timeBasedFileNamingAndTriggeringPolicy
|
||||
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||||
<maxFileSize>256MB</maxFileSize>
|
||||
</timeBasedFileNamingAndTriggeringPolicy>
|
||||
</rollingPolicy>
|
||||
<encoder>
|
||||
<charset>UTF-8</charset>
|
||||
<pattern>%date [%thread] [%file:%line] [%level %logger{0}] - %msg%n</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
|
||||
|
||||
|
||||
<!--异步到文件-->
|
||||
<appender name="info_async_file" class="ch.qos.logback.classic.AsyncAppender">
|
||||
<discardingThreshold>12</discardingThreshold>
|
||||
<queueSize>512</queueSize>
|
||||
<appender-ref ref="info_file"/>
|
||||
</appender>
|
||||
|
||||
|
||||
|
||||
<appender name ="warn_async_file" class= "ch.qos.logback.classic.AsyncAppender">
|
||||
<discardingThreshold >12</discardingThreshold>
|
||||
<queueSize>512</queueSize>
|
||||
<includeCallerData>false</includeCallerData>
|
||||
<appender-ref ref ="warn_file"/>
|
||||
</appender>
|
||||
|
||||
<appender name ="error_async_file" class= "ch.qos.logback.classic.AsyncAppender">
|
||||
<discardingThreshold >12</discardingThreshold>
|
||||
<queueSize>512</queueSize>
|
||||
<includeCallerData>false</includeCallerData>
|
||||
<appender-ref ref ="error_file"/>
|
||||
</appender>
|
||||
|
||||
|
||||
<!--生产环境:打印控制台和输出到文件-->
|
||||
<springProfile name="prod">
|
||||
<root level="info">
|
||||
<!--<appender-ref ref="CONSOLE"/>-->
|
||||
<appender-ref ref="info_async_file"/>
|
||||
<appender-ref ref="warn_async_file"/>
|
||||
<appender-ref ref="error_async_file"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
<!--开发环境:打印控制台-->
|
||||
<springProfile name="dev">
|
||||
<logger name="com.accompany" level="DEBUG"/>
|
||||
<root level="info">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="info_async_file"/>
|
||||
<appender-ref ref="warn_async_file"/>
|
||||
<appender-ref ref="error_async_file"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
<springProfile name="native">
|
||||
<logger name="com.accompany" level="DEBUG"/>
|
||||
<logger name="com.xuanyin" level="DEBUG"/>
|
||||
<root level="info">
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
<appender-ref ref="info_async_file"/>
|
||||
<appender-ref ref="warn_async_file"/>
|
||||
<appender-ref ref="error_async_file"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
</configuration>
|
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-config.dtd">
|
||||
|
||||
<configuration>
|
||||
<settings>
|
||||
<setting name="lazyLoadingEnabled" value="false"/>
|
||||
<setting name="useGeneratedKeys" value="true"/>
|
||||
<setting name="defaultStatementTimeout" value="2000" />
|
||||
|
||||
<!--<setting name="logImpl" value="STDOUT_LOGGING" />-->
|
||||
</settings>
|
||||
|
||||
<!--<typeAliases>-->
|
||||
<!--<typeAlias alias="User" type="com.xchat.oauth2.service.domain.user.User"/>-->
|
||||
<!--<typeAlias alias="OAuthClientDetails" type="com.xchat.oauth2.service.domain.oauth.OAuthClientDetails"/>-->
|
||||
<!--</typeAliases>-->
|
||||
|
||||
<!--<mappers >-->
|
||||
<!--<mapper resource="erban.sqlmappers/VideoOrgListMapper.xml"/>-->
|
||||
<!--<mapper resource="erban.sqlmappers/VideoMapper.xml"/>-->
|
||||
<!--<mapper resource="erban.sqlmappers/VideoTagMapper.xml"/>-->
|
||||
<!--</mappers>-->
|
||||
</configuration>
|
Reference in New Issue
Block a user