From 2602505147c8e101edcf3389a41cc078c1c13e19 Mon Sep 17 00:00:00 2001 From: xiachao Date: Thu, 12 Sep 2024 11:02:42 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B0=83=E6=95=B4=EF=BC=8Cmybatis=20fixe=20?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=E8=87=B31.9.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/orm/config/MyBatisFlexConfig.java | 18 ++++++++---------- .../tskv/service/latest/LatestPgService.java | 2 +- .../service/latest/LatestPgServiceImpl.java | 6 +----- .../tskv/service/tskv/TsKvPgServiceImpl.java | 4 ++-- .../biz/service/impl/SysUserServiceImpl.java | 9 ++++----- .../oss/service/impl/SysOssServiceImpl.java | 2 +- pom.xml | 2 +- 7 files changed, 18 insertions(+), 25 deletions(-) diff --git a/common/orm/src/main/java/com/thing/common/orm/config/MyBatisFlexConfig.java b/common/orm/src/main/java/com/thing/common/orm/config/MyBatisFlexConfig.java index dc4f6da..81dc194 100644 --- a/common/orm/src/main/java/com/thing/common/orm/config/MyBatisFlexConfig.java +++ b/common/orm/src/main/java/com/thing/common/orm/config/MyBatisFlexConfig.java @@ -5,8 +5,6 @@ import com.mybatisflex.core.FlexGlobalConfig; import com.mybatisflex.core.audit.AuditManager; import com.mybatisflex.core.audit.ConsoleMessageCollector; import com.mybatisflex.core.keygen.KeyGenerators; -import com.mybatisflex.core.mybatis.FlexConfiguration; -import com.mybatisflex.spring.boot.ConfigurationCustomizer; import com.mybatisflex.spring.boot.MyBatisFlexCustomizer; import com.thing.common.orm.entity.BaseDateEntity; import com.thing.common.orm.entity.BaseEntity; @@ -15,9 +13,8 @@ import com.thing.common.orm.entity.BaseTenantEntity; import com.thing.common.orm.listener.EntityInsertListener; import com.thing.common.orm.listener.EntityUpdateListener; import lombok.extern.slf4j.Slf4j; -import org.apache.ibatis.logging.nologging.NoLoggingImpl; -import org.apache.ibatis.logging.stdout.StdOutImpl; import org.mybatis.spring.annotation.MapperScan; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @@ -29,11 +26,12 @@ import org.springframework.context.annotation.Configuration; @Slf4j @Configuration @MapperScan(value = {"com.thing.**.mapper"}) -public class MyBatisFlexConfig implements ConfigurationCustomizer, MyBatisFlexCustomizer { - @Override - public void customize(FlexConfiguration configuration) { - configuration.setLogImpl(NoLoggingImpl.class); - } +public class MyBatisFlexConfig implements MyBatisFlexCustomizer { + + + @Value("${mybatis-flex.auditEnable:false}") + private Boolean auditEnable; + /** * Mybatis-Flex自定义初始化配置 @@ -54,7 +52,7 @@ public class MyBatisFlexConfig implements ConfigurationCustomizer, MyBatisFlexCu globalConfig.registerUpdateListener(new EntityUpdateListener(), BaseEntity.class, BaseDateEntity.class, BaseInfoEntity.class, BaseTenantEntity.class); // 开启审计功能 - AuditManager.setAuditEnable(true); + AuditManager.setAuditEnable(auditEnable); AuditManager.setMessageCollector(new ConsoleMessageCollector()); } diff --git a/common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgService.java b/common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgService.java index 24c9cae..44ce808 100644 --- a/common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgService.java +++ b/common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgService.java @@ -4,7 +4,7 @@ import com.mybatisflex.annotation.UseDataSource; import com.mybatisflex.core.service.IService; import com.thing.common.tskv.entity.TsKvLatestPg; -@UseDataSource("postgresql") +@UseDataSource("pg-tskv") public interface LatestPgService extends IService, LatestBaseService { } diff --git a/common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgServiceImpl.java b/common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgServiceImpl.java index 74029bf..577baae 100644 --- a/common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgServiceImpl.java +++ b/common/tskv/src/main/java/com/thing/common/tskv/service/latest/LatestPgServiceImpl.java @@ -13,7 +13,6 @@ import com.thing.common.tskv.entity.TsKvLatestPg; import com.thing.common.tskv.mapper.TsKvLatestPgMapper; import com.thing.common.tskv.service.DatabaseType; import com.thing.common.tskv.service.LatestNativeSQL; -import com.thing.common.tskv.service.latest.LatestPgService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; @@ -23,14 +22,11 @@ import org.springframework.stereotype.Service; import java.util.Collection; import java.util.List; import java.util.Map; -import java.util.stream.IntStream; - -import static com.thing.common.tskv.entity.table.TsKvLatestPgTableDef.TS_KV_LATEST_PG; @Slf4j @Service -@ConditionalOnExpression("'${database.latest.type}'=='timescale' || '${database.latest.type}'=='postgresql'") +@ConditionalOnExpression("'${database.latest.type}'=='timescale' || '${database.latest.type}'=='pg-tskv'") public class LatestPgServiceImpl extends ServiceImpl implements LatestPgService { @Override diff --git a/common/tskv/src/main/java/com/thing/common/tskv/service/tskv/TsKvPgServiceImpl.java b/common/tskv/src/main/java/com/thing/common/tskv/service/tskv/TsKvPgServiceImpl.java index 96a7cfe..ea4206f 100644 --- a/common/tskv/src/main/java/com/thing/common/tskv/service/tskv/TsKvPgServiceImpl.java +++ b/common/tskv/src/main/java/com/thing/common/tskv/service/tskv/TsKvPgServiceImpl.java @@ -46,8 +46,8 @@ import static com.thing.common.util.time.DaXiaUtils.getAmStartTime; @Slf4j @Service -@UseDataSource("postgresql") -@ConditionalOnExpression("'${database.ts_kv.type}'=='timescale' || '${database.ts_kv.type}'=='postgresql'") +@UseDataSource("pg-tskv") +@ConditionalOnExpression("'${database.ts_kv.type}'=='timescale' || '${database.ts_kv.type}'=='pg-tskv'") public class TsKvPgServiceImpl extends ServiceImpl implements TsKvPgService { @Value("${calculate.am_total.offset:24}") private int offset; diff --git a/modules/thing/src/main/java/com/thing/sys/biz/service/impl/SysUserServiceImpl.java b/modules/thing/src/main/java/com/thing/sys/biz/service/impl/SysUserServiceImpl.java index c618e1f..77547d1 100644 --- a/modules/thing/src/main/java/com/thing/sys/biz/service/impl/SysUserServiceImpl.java +++ b/modules/thing/src/main/java/com/thing/sys/biz/service/impl/SysUserServiceImpl.java @@ -7,7 +7,6 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.google.common.collect.Maps; import com.mybatisflex.core.paginate.Page; -import com.mybatisflex.core.query.QueryChain; import com.mybatisflex.core.query.QueryWrapper; import com.thing.common.core.constants.Constant; import com.thing.common.core.enumeration.SuperAdminEnum; @@ -67,17 +66,17 @@ public class SysUserServiceImpl extends BaseServiceImpl implements SysOssService { - @Value("${spring.map-bucket}") + @Value("${thing.map-bucket}") private String mapBucket; @Override diff --git a/pom.xml b/pom.xml index 6a64631..2fa0276 100644 --- a/pom.xml +++ b/pom.xml @@ -40,7 +40,7 @@ 1.9.4 4.1.0 3.0.2 - 1.9.5 + 1.9.7 0.5.0 42.6.0 8.2.0 From 4dc60be66639dd7ad44ed6a51b6dfc2f87f8ae1f Mon Sep 17 00:00:00 2001 From: xiachao Date: Thu, 12 Sep 2024 11:04:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application.yml | 150 +++++++++++------- 1 file changed, 96 insertions(+), 54 deletions(-) diff --git a/application/src/main/resources/application.yml b/application/src/main/resources/application.yml index 3042094..6db62f6 100644 --- a/application/src/main/resources/application.yml +++ b/application/src/main/resources/application.yml @@ -13,6 +13,35 @@ spring: max-file-size: 100MB max-request-size: 100MB enabled: true + task: + execution: + pool: + max-size: 12 + core-size: 6 + keep-alive: 60s + queue-capacity: 100 + allow-core-thread-timeout: true + thread-name-prefix: Async-线程池-- + shutdown: + await-termination: true + await-termination-period: 3s + datasource: + type: com.zaxxer.hikari.HikariDataSource + hikari: + # 最大连接池数量 + maximum-pool-size: 20 + # 最小空闲线程数量 + minimum-idle: 10 + # 配置获取连接等待超时的时间 + connectionTimeout: 30000 + # 校验超时时间 + validationTimeout: 5000 + # 空闲连接存活最大时间,默认10分钟 + idleTimeout: 600000 + # 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认30分钟 + maxLifetime: 1800000 + # 多久检查一次连接的活性 + keepaliveTime: 30000 messages: encoding: UTF-8 basename: i18n/messages @@ -22,53 +51,23 @@ spring: port: 7963 password: Sddt8888! database: 5 - #项目入口签名 - title: - sign: ck #企业签名 - technical: - phone: - map-bucket: geojson #地图文件路径 -queue: - type: in-memory # 队列类型: inMemory / disruptor - inMemory: - maxSize: 500 - pollInterval: 100 - disruptor: - maximumPoolSize: 8 - bufferSize: 256 # 指定ringbuffer字节大小,当前值将乘1024 - partitions: - hash_function_name: murmur3_128 # murmur3_32, murmur3_128 or sha256 - core: - topic: queue_core - poll-interval: 1000 - partitions: 30 - debug: false - log-interval: 300 - rabbitmq: - exchange_name: - host: localhost - port: 5673 - virtual_host: / - username: guest - password: guest - automatic_recovery_enabled: false - connection_timeout: 60000 - handshake_timeout: 10000 - queue-properties: - core: x-max-length-bytes:1048576000;x-message-ttl:604800000 -#数据源配置 +#tskv遥测数据数据源配置 database: ts_kv: - type: postgresql # 时序数据存储类型 clickhouse/timescale/postgresql/tidb/mysql + type: timescale # 时序数据存储类型 clickhouse/timescale/postgresql/tidb/mysql latest: - type: postgresql # 最新数据存储类型 postgresql/timescale/mysql/tidb/clickhouse + type: timescale # 最新数据存储类型 postgresql/timescale/mysql/tidb/clickhouse save_maximumPoolSize: 12 # 数据源及mybatis、mybatis-flex配置 mybatis-flex: + #是否开启审计日志打印 + auditEnable: false + #mapper 包扫描路径 typeAliasesPackage: com.thing.**.mapper + #mapper 扫描路径 mapperLocations: classpath*:/mapper/**/*.xml - #本部分(Configuration)的配置都为 MyBatis 原生支持的配置,有关配置请参考:https://mybatis.org/mybatis-3/zh/configuration.html#%E8%AE%BE%E7%BD%AE%EF%BC%88settings%EF%BC%89 + #本部分(Configuration)的配置都为 MyBatis 原生支持的配置 configuration: mapUnderscoreToCamelCase: true autoMappingBehavior: FULL @@ -78,25 +77,29 @@ mybatis-flex: print-banner: true normal-value-of-logic-delete: 0 deleted-value-of-logic-delete: 1 + #数据眼配置 datasource: - pg: + #物管理数据源 + pg-thing: type: com.zaxxer.hikari.HikariDataSource - url: jdbc:postgresql://192.168.188.185:5432/thing_v2 + url: jdbc:postgresql://127.0.0.1:25432/pub_guowang_v1 driver-class-name: org.postgresql.Driver username: postgres password: sddt8888 - postgresql: + #遥测数据数据眼 + pg-tskv: type: com.zaxxer.hikari.HikariDataSource - url: jdbc:postgresql://192.168.188.185:5432/thing_v2 + url: jdbc:postgresql://127.0.0.1:25432/pub_guowang_v1 driver-class-name: org.postgresql.Driver username: postgres password: sddt8888 - sqlServer: - type: com.zaxxer.hikari.HikariDataSource - url: jdbc:sqlserver://127.0.0.1:1433;databaseName=销售生产其他 - driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver - username: czj - password: 1234 + #其他第三方数据接入,或业务需要追加数据源 +# sqlServer: +# type: com.zaxxer.hikari.HikariDataSource +# url: jdbc:sqlserver://127.0.0.1:1433;databaseName=销售生产其他 +# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver +# username: czj +# password: 1234 # 区间统计计算相关配置 calculate: @@ -111,6 +114,21 @@ calculate: start_yy: 1 #年 用量统计开始的月份(1-12) maximumPoolSize: 12 +#物管理相关配置 +thing: + #项目入口签名 + title: + #企业签名 + sign: ck + #座机 + technical: + #联系电话 + phone: + #地图文件路径 + map-bucket: geojson + # token 过期时间 30天 + token: + expire: 2592000 # 产品碳足迹 相关配置 carbon: syncButton: false @@ -120,12 +138,6 @@ carbon: api: secret: nba!w^0@01 -#物管理相关配置 -thing: - # token 过期时间 30天 - token: - expire: 2592000 - ##数据解析配置 nashorn: # JS Eval max request timeout. 0 - no timeout @@ -155,7 +167,37 @@ aviator: # Max loop count to prevent too much CPU consumption. If it's value is zero or negative, it means # no limitation on loop count.Default is zero. max_loop_count: 1000 + #队列相关配置 +queue: + type: in-memory # 队列类型: inMemory / disruptor + inMemory: + maxSize: 500 + pollInterval: 100 + disruptor: + maximumPoolSize: 8 + bufferSize: 256 # 指定ringbuffer字节大小,当前值将乘1024 + partitions: + hash_function_name: murmur3_128 # murmur3_32, murmur3_128 or sha256 + core: + topic: queue_core + poll-interval: 1000 + partitions: 30 + debug: false + log-interval: 300 + rabbitmq: + exchange_name: + host: localhost + port: 5673 + virtual_host: / + username: guest + password: guest + automatic_recovery_enabled: false + connection_timeout: 60000 + handshake_timeout: 10000 + queue-properties: + core: x-max-length-bytes:1048576000;x-message-ttl:604800000 + transport: # Enable/disable http/mqtt/... transport protocols (has higher priority than certain protocol's 'enabled' property) api_enabled: true