代码优化-用hikaricp替换durid连接池,去掉部分pom依赖

This commit is contained in:
2023-01-05 17:43:11 +08:00
parent d25b799d76
commit 8122335a37
38 changed files with 55 additions and 247 deletions

View File

@@ -13,31 +13,21 @@
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-business-service</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-core</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-common</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-payment</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-sms</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-sharding</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-business-service</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-business-world</artifactId>
@@ -48,21 +38,6 @@
<artifactId>accompany-business-community</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-business-sharding</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-core</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>xuanyin-game-match</artifactId>
@@ -70,5 +45,4 @@
</dependency>
</dependencies>
</project>

View File

@@ -1,14 +0,0 @@
package com.accompany.admin.newUserStart;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author guojicong
* @date 2022/5/31
*/
@RestController
@RequestMapping(value = "admin/newUser")
public class NewUserSayHelloController {
}

View File

@@ -5,22 +5,7 @@ spring:
username: root
password: anan@dev##
driver-class-name: com.mysql.cj.jdbc.Driver
druid:
initial-size: 5
max-active: 120
min-idle: 5
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 50
filters: stat,wall
connection-properties=druid.stat.mergeSql: true;druid.stat.slowSqlMillis=500
use-global-data-source-stat: true
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 10
maximum-pool-size: 20
@@ -50,10 +35,10 @@ spring:
singleServerConfig:
address: redis://118.194.255.128:6200
password: anan@dev@redis@#!
connectionMinimumIdleSize: 8
connectionMinimumIdleSize: 4
timeout: 10000
threads: 16
nettyThreads: 32
threads: 8
nettyThreads: 16
codec: !<org.redisson.codec.JsonJacksonCodec> {}
transportMode: "NIO"

View File

@@ -18,11 +18,6 @@
<artifactId>accompany-common</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>

View File

@@ -1,7 +1,6 @@
package com.accompany.core.config;
import com.accompany.common.utils.ResourceUtil;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.github.pagehelper.PageInterceptor;
@@ -9,7 +8,7 @@ import org.apache.ibatis.plugin.Interceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.*;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -26,8 +25,7 @@ import java.util.Properties;
*/
@EnableTransactionManagement
@Configuration
@Import({DruidDataSourceAutoConfigure.class})
@ConfigurationProperties(prefix = "spring.datasource")
@Import({DataSourceAutoConfiguration.class})
@MapperScan(value = {"com.accompany.business.mybatismapper", "com.accompany.world.mapper",
"com.accompany.community.mapper", "com.accompany.core.mybatismapper", "com.accompany.sms.mapper", "com.accompany.payment.mapper",
"com.accompany.admin.mapper", "com.accompany.flowteam.admin.mapper", "com.xuanyin.gamematch.mapper", "com.xuanyin.flowteam.mapper"}, sqlSessionFactoryRef="sqlSessionFactory")

View File

@@ -1,11 +0,0 @@
package com.accompany.core.dto
/**
* 数组包装器 对象
*/
class ListWrapperDTO<T>(val list: List<T>)
/**
* 对象包装器
*/
class ObjectWrapper<T>(val t: T)

View File

@@ -3,24 +3,24 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>accompany-business</artifactId>
<artifactId>accompany-base</artifactId>
<groupId>com.accompany</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>accompany-business-sharding</artifactId>
<artifactId>accompany-sharding</artifactId>
<dependencies>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-core</artifactId>
<version>4.0.0-RC2</version>
<groupId>com.accompany</groupId>
<artifactId>accompany-common</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-core</artifactId>
<version>4.1.1</version>
</dependency>
</dependencies>
</project>

View File

@@ -2,7 +2,6 @@ package com.accompany.sharding.config;
import com.accompany.common.utils.ResourceUtil;
import com.accompany.sharding.shardingalgorithm.*;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import org.apache.ibatis.plugin.Interceptor;
@@ -14,7 +13,6 @@ import org.apache.shardingsphere.shardingjdbc.api.ShardingDataSourceFactory;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.*;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@@ -35,13 +33,9 @@ import java.util.Properties;
*/
@EnableTransactionManagement
@Configuration
@Import({DruidDataSourceAutoConfigure.class})
@ConfigurationProperties(prefix = "spring.datasource")
@MapperScan(value = {"com.accompany.sharding.mapper"}, sqlSessionFactoryRef = "shardingSqlSessionFactory")
public class ShardingJdbcConfig {
private String mapperLocations = "classpath*:/sharding/sqlmappers/*.xml";
@Autowired
private DataSource dataSource;
@Autowired
@@ -70,7 +64,12 @@ public class ShardingJdbcConfig {
Properties props = new Properties();
//是否打印执行的sql语句
props.setProperty("sql.show", "false");
return ShardingDataSourceFactory.createDataSource(createDataSourceMap(), shardingRuleConfig, props);
Map<String, DataSource> dataSourceMap = new HashMap<>(4);
dataSourceMap.put("ds", dataSource);
dataSourceMap.put("ds-1", dataSource);
return ShardingDataSourceFactory.createDataSource(dataSourceMap, shardingRuleConfig, props);
}
@Bean("shardingSqlSessionFactory")
@@ -79,7 +78,7 @@ public class ShardingJdbcConfig {
Interceptor pageInterceptor, PaginationInterceptor paginationInterceptor) throws IOException {
MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(shardingDataSource);
//sqlSessionFactoryBean.setConfigLocation(new ClassPathResource("/mybatis-config.xml"));
String mapperLocations = "classpath*:/sharding/sqlmappers/*.xml";
sqlSessionFactoryBean.setMapperLocations(ResourceUtil.getPathMatchingResource(mapperLocations));
sqlSessionFactoryBean.setPlugins(new Interceptor[]{pageInterceptor, paginationInterceptor});
return sqlSessionFactoryBean;
@@ -92,17 +91,6 @@ public class ShardingJdbcConfig {
return new DataSourceTransactionManager(shardingDataSource);
}
/**
* 创建数据源
* @return
*/
private Map<String, DataSource> createDataSourceMap() {
Map<String, DataSource> result = new HashMap<>(4);
result.put("ds", dataSource);
result.put("ds-1", dataSource);
return result;
}
/** =====账单表分表策略===== **/
private TableRuleConfiguration getBillRecordShardingTableRuleConfiguration() {
String logicTable = "bill_record";
@@ -146,4 +134,5 @@ public class ShardingJdbcConfig {
return new StandardShardingStrategyConfiguration(shardingColumn,
userInOutRoomRecordShardingAlgorithm, userInOutRoomRecordRangeShardingAlgorithm);
}
}

View File

@@ -16,6 +16,7 @@
<module>accompany-common</module>
<module>accompany-sms</module>
<module>accompany-payment</module>
<module>accompany-sharding</module>
</modules>
<dependencies>

View File

@@ -14,7 +14,7 @@
<dependencies>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-business-sharding</artifactId>
<artifactId>accompany-sharding</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>

View File

@@ -38,7 +38,7 @@
<dependency>
<groupId>com.accompany</groupId>
<artifactId>accompany-business-sharding</artifactId>
<artifactId>accompany-sharding</artifactId>
<version>${revision}</version>
</dependency>
@@ -75,7 +75,13 @@
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
<version>${quartz.version}</version>
<exclusions>
<exclusion>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP-java7</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>

View File

@@ -7,7 +7,6 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
@Component
@Configuration
@ConfigurationProperties(prefix = "elasticsearch")
public class ElasticsearchConfig {

View File

@@ -20,7 +20,6 @@ import com.accompany.common.redis.RedisKey
import com.accompany.common.status.BusiStatus
import com.accompany.common.utils.UUIDUitl
import com.accompany.core.annotation.LogTime
import com.accompany.core.dto.ListWrapperDTO
import com.accompany.core.exception.ServiceException
import com.accompany.core.model.Room
import com.accompany.core.service.common.JedisService
@@ -293,6 +292,11 @@ open class BlindDateServiceImpl : BlindDateService {
pushRoomService.sendRoomMsg(sendRoomMsgTemplate)
}
/**
* 数组包装器 对象
*/
class ListWrapperDTO<T>(val list: List<T>)
@LogTime
override fun cleanQueue(roundId: Long) {
// 队列还原

View File

@@ -21,30 +21,11 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
<!-- sharding-jdbc -->
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-core</artifactId>
<version>4.0.0-RC2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-websocket -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>xuanyin-game-match</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>com.accompany</groupId>
<artifactId>xuanyin-game-match</artifactId>
<version>${revision}</version>
</dependency>
</dependencies>
<build>

View File

@@ -1,55 +0,0 @@
package com.accompany.business.config;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class DruidConfiguration {
/**
* 注册一个StatViewServlet
* @return
*/
@Bean
public ServletRegistrationBean DruidStatViewServle(){
//org.springframework.boot.context.embedded.ServletRegistrationBean提供类的进行注册.
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
//添加初始化参数initParams
//白名单:
// servletRegistrationBean.addInitParameter("allow","127.0.0.1");
//IP黑名单 (存在共同时deny优先于allow) : 如果满足deny的话提示:Sorry, you are not permitted to view this page.
// servletRegistrationBean.addInitParameter("deny","192.168.0.100");
//登录查看信息的账号密码.
servletRegistrationBean.addInitParameter("loginUsername","admin");
servletRegistrationBean.addInitParameter("loginPassword","admin,,123456.");
//是否能够重置数据.
servletRegistrationBean.addInitParameter("resetEnable","false");
return servletRegistrationBean;
}
/**
* 注册一个filterRegistrationBean
* @return
*/
@Bean
public FilterRegistrationBean druidStatFilter(){
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
//添加过滤规则.
filterRegistrationBean.addUrlPatterns("/*");
//添加不需要忽略的格式信息.
filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
return filterRegistrationBean;
}
}

View File

@@ -1,27 +0,0 @@
package com.accompany.business.config;
import org.hibernate.validator.HibernateValidator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
/**
* {这里添加描述}
*
* @author fangchengyan
* @date 2019-08-13 14:28
*/
@Configuration
public class ValidatorConfiguration {
@Bean
public Validator validator() {
ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class)
.configure()
.addProperty("hibernate.validator.fail_fast", "true")
.buildValidatorFactory();
return validatorFactory.getValidator();
}
}

View File

@@ -1,16 +0,0 @@
package com.accompany.business.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
/**
* Created By LeeNana on 2020/2/27.
*/
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter() {
return new ServerEndpointExporter();
}
}

View File

@@ -50,10 +50,10 @@ spring:
singleServerConfig:
address: redis://118.194.255.128:6200
password: anan@dev@redis@#!
connectionMinimumIdleSize: 8
connectionMinimumIdleSize: 4
timeout: 10000
threads: 16
nettyThreads: 32
threads: 8
nettyThreads: 16
codec: !<org.redisson.codec.JsonJacksonCodec> {}
transportMode: "NIO"

View File

@@ -16,7 +16,6 @@
<module>accompany-business-web</module>
<module>accompany-business-community</module>
<module>accompany-business-world</module>
<module>accompany-business-sharding</module>
</modules>
<dependencies>

10
pom.xml
View File

@@ -41,7 +41,7 @@
<spring.security.version>3.2.5.RELEASE</spring.security.version>
<spring-boot-starter-jdbc.version>2.0.0.RELEASE</spring-boot-starter-jdbc.version>
<mysql-connector-java.version>8.0.17</mysql-connector-java.version>
<quartz.version>2.3.0</quartz.version>
<quartz.version>2.3.2</quartz.version>
<servlet-api.version>3.1.0</servlet-api.version>
<http-client.version>4.5</http-client.version>
<slf4j-api.version>1.7.21</slf4j-api.version>
@@ -150,13 +150,13 @@
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>${quartz.version}</version>
<exclusions>
<exclusion>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP-java7</artifactId>
</exclusion>
</exclusions>
<version>${quartz.version}</version>
</dependency>
<dependency>
@@ -1114,7 +1114,7 @@
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
<version>${quartz.version}</version>
</dependency>
<dependency>