find:()新增抽取数据环境池

master
Yueng 2024-09-08 15:07:57 +08:00
parent 5351bea0a0
commit 697285a179
24 changed files with 420 additions and 96 deletions

View File

@ -21,7 +21,7 @@ import java.util.function.Supplier;
*/
@Data
@Builder
@TableName(value = "data_source")
@TableName(value = "core_data")
@AllArgsConstructor
@NoArgsConstructor
public class CoreDataList {
@ -55,7 +55,7 @@ public class CoreDataList {
/**
*
*/
private String mobile;
private String telePhone;
/**
*
@ -84,7 +84,7 @@ public class CoreDataList {
.gender(dataSourceLists.getGender())
.birthday(dataSourceLists.getBirthday())
.address(dataSourceLists.getAddress())
.mobile(dataSourceLists.getMobile())
.telePhone(dataSourceLists.getTelePhone())
.idCard(dataSourceLists.getIdCard())
.email(dataSourceLists.getEmail())
.credit(dataSourceLists.getCredit())

View File

@ -0,0 +1,33 @@
package com.muyu.common.domain.data.base;
/**
* @Authorzhangzhihao
* @nameBaseConfig
* @Date2024/8/22 17:03
*
*/
public class BaseConfig {
/**
* mysql
*/
public static final String MYSQLJDBCPRO="jdbc:mysql://";
public static final String ORACLEJDBCPRO="jdbc:oracle:thin:@";
public static final String SHOWTABLES="show TABLES";
public static final String SELECTCOUNT="SELECT count(1) as count FROM ";
public static final String SHOW_FULL_FIELDS_FROM="SHOW FULL FIELDS FROM ";
public static final String SELECT="select ";
public static final String SELECTALL="select * from ";
public static final String FROM=" from ";
public static void driver(String driverName){
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
}

View File

@ -1,4 +1,4 @@
package com.muyu.server.data.base;
package com.muyu.common.domain.data.base;
/**
* @Author

View File

@ -1,4 +1,4 @@
package com.muyu.server.data.base;
package com.muyu.common.domain.data.base;
import com.muyu.common.domain.DataValue;

View File

@ -1,4 +1,4 @@
package com.muyu.server.data.base;
package com.muyu.common.domain.data.base;
import lombok.Data;
import lombok.NoArgsConstructor;

View File

@ -1,8 +1,8 @@
package com.muyu.server.data.redis;
package com.muyu.common.domain.data.redis;
import com.muyu.common.domain.DataValue;
import com.muyu.server.data.base.BaseDataAbsSource;
import com.muyu.common.domain.data.base.BaseDataAbsSource;
/**
* @Author

View File

@ -1,7 +1,7 @@
package com.muyu.server.data.redis;
package com.muyu.common.domain.data.redis;
import com.muyu.server.data.base.BaseQuery;
import com.muyu.common.domain.data.base.BaseQuery;
/**
* @Author

View File

@ -1,5 +1,7 @@
package com.muyu.common.domain.req;
import com.muyu.common.domain.Connect;
import com.muyu.common.domain.data.base.BaseConfig;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -27,6 +29,53 @@ public class ConnectReq {
/**
*
*/
private final String URL = "jdbc:mysql://";
private final String Url = "jdbc:mysql://";
/**
*
*/
private final String USER = "root";
/**
*
*/
private final String PWD = "Bwie-8666";
/**
* mysql
* @return
*/
public String getUrl(Connect connect){
StringBuilder urlSb = new StringBuilder(BaseConfig.MYSQLJDBCPRO);
//拼接ip
urlSb.append(connect.getIpAddress());
urlSb.append(":");
//拼接端口
urlSb.append(connect.getPort());
urlSb.append("/");
//拼接数据库
urlSb.append(connect.getDatabaseName());
urlSb.append("?");
//useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
urlSb.append(connect.getDataConnParam());
return urlSb.toString();
}
/**
* mysql
* @return
*/
public String getOracleUrl(Connect connect){
StringBuilder urlSb = new StringBuilder(BaseConfig.ORACLEJDBCPRO);
//拼接ip
urlSb.append(connect.getIpAddress());
urlSb.append(":");
//拼接端口
urlSb.append(connect.getPort());
urlSb.append(":");
//PDB
urlSb.append(connect.getDataConnParam());
return urlSb.toString();
}
}

View File

@ -2,8 +2,8 @@ package com.muyu.server;
import com.muyu.server.data.mysql.MySqlDataSource;
import com.muyu.server.data.mysql.MySqlQuery;
import com.muyu.server.mysql.MySqlDataSource;
import com.muyu.server.mysql.MySqlQuery;
import java.util.HashMap;

View File

@ -1,10 +1,14 @@
package com.muyu.server.controller;
import com.muyu.common.core.domain.Result;
import com.muyu.common.domain.CoreDataList;
import com.muyu.common.domain.DataValue;
import com.muyu.server.service.DataLinkService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
*@Authoryang
*@Packagecom.muyu.server.controller
@ -31,4 +35,21 @@ public class DataLinkController {
return Result.success(longs);
}
/**
* dashuju
* @param dataName
* @param sql sql
* @return
*/
@PostMapping("/findSelectDataList")
public Result<DataValue[][]> findSelectDataList(
@RequestParam("dataName") String dataName,
@RequestParam("sql") String sql,
@RequestParam("dataTableName") String dataTableName,
@RequestParam("one") Long one,
@RequestParam("two") Integer two){
DataValue[][] longs = dataLinkService.findSelectDataList(dataName,sql,dataTableName,one,two);
return Result.success(longs);
}
}

View File

@ -1,74 +0,0 @@
package com.muyu.server.data.mysql;
import com.muyu.common.domain.DataValue;
import com.muyu.common.domain.enums.DataType;
import com.muyu.server.data.base.BaseDataAbsSource;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @Author
* @Packagecom.muyu.etl.property.mysql
* @Projectcloud-etl-property
* @nameMysqlDataSource
* @Date2024/8/29 16:04
*
* mysql
*/
public class MySqlDataSource extends BaseDataAbsSource
{
@Override
public DataValue getDateValue() {
MySqlQuery query = getQuery();
query.getDataSourceId();
String sql = query.getSql();
Map<String, Object> queryParams = query.getParams();
Connection connection=null;
List<DataValue> dataValueList = new ArrayList<>();
try {
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet resultSet = preparedStatement.getResultSet();
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
while (resultSet.next()){
for (int i = 0; i < columnCount; i++) {
String columnTypeName = metaData.getColumnTypeName(i);
// 构建DataValue对象
DataValue build = DataValue.builder()
.key(resultSet.getCursorName())// 使用游标的名称作为键
.label("")// 标签为空
.value(resultSet.getObject(resultSet.getCursorName(), DataType.convertType(columnTypeName)))
// .type("" +"String");// 数据类型为String
.build();
dataValueList.add(build);
}
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
@Override
public DataValue[] getRow() {
return new DataValue[0];
}
@Override
public DataValue[][] fetRows() {
return new DataValue[0][];
}
}

View File

@ -2,7 +2,9 @@ package com.muyu.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.common.domain.Connect;
import com.muyu.common.domain.DataName;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @Authoryang
@ -13,4 +15,5 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface ConnectMapper extends BaseMapper<Connect> {
Connect selectData(@Param("dataName") String dataName);
}

View File

@ -0,0 +1,163 @@
package com.muyu.server.mysql;
import com.muyu.common.core.utils.SpringUtils;
import com.muyu.common.domain.Connect;
import com.muyu.common.domain.DataValue;
import com.muyu.common.domain.enums.DataType;
import com.muyu.common.domain.req.ConnectReq;
import com.muyu.common.domain.data.base.BaseDataAbsSource;
import com.muyu.server.service.ConnectService;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Component;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
* @Author
* @Packagecom.muyu.etl.property.mysql
* @Projectcloud-etl-property
* @nameMysqlDataSource
* @Date2024/8/29 16:04
*
* mysql
*/
@Component
@Log4j2
public class MySqlDataSource extends BaseDataAbsSource
{
ConnectService connectService = SpringUtils.getBean(ConnectService.class);
@Override
public DataValue getDateValue() {
MySqlQuery query = getQuery();
query.getDataSourceId();
String sql = query.getSql();
Map<String, Object> queryParams = query.getParams();
Connection connection=null;
List<DataValue> dataValueList = new ArrayList<>();
try {
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet resultSet = preparedStatement.getResultSet();
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
while (resultSet.next()){
for (int i = 0; i < columnCount; i++) {
String columnTypeName = metaData.getColumnTypeName(i);
// 构建DataValue对象
DataValue build = DataValue.builder()
.key(resultSet.getCursorName())// 使用游标的名称作为键
.label("")// 标签为空
.value(resultSet.getObject(resultSet.getCursorName(), DataType.convertType(columnTypeName)))
// .type("" +"String");// 数据类型为String
.build();
dataValueList.add(build);
}
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
return null;
}
@Override
public DataValue[] getRow() {
return new DataValue[0];
}
@Override
public DataValue[][] fetRows() {
return new DataValue[0][];
}
public DataValue[][] getSqlDataSource() {
MySqlQuery query = getQuery();
String dataName = query.getDataName();
String dataTableName = query.getDataTableName();
Integer one = Math.toIntExact(query.getOne());
Integer two = query.getTwo();
String sql = query.getSql();
ConcurrentHashMap<Integer, DataValue> map = new ConcurrentHashMap<>();
Connect connect = connectService.selectData(dataName);
ConnectReq connectReq = new ConnectReq();
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setPoolName("HikariCP 连接池");
hikariConfig.setDriverClassName(connectReq.getDRIVER());
// 修正这里
hikariConfig.setJdbcUrl(connectReq.getUrl(connect));
hikariConfig.setUsername(connectReq.getUSER());
hikariConfig.setPassword(connectReq.getPWD());
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(10);
DataValue[][] dataValues = new DataValue[one][two];
HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);
try {
Connection conn = hikariDataSource.getConnection();
PreparedStatement preparedStatement = conn.prepareStatement(sql);
ResultSet resultSet = preparedStatement.executeQuery();
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
int c = 0;
while (resultSet.next()){
for (int i = 1; i <= columnCount; i++) {
if (resultSet.isFirst()){
String columnTypeName = metaData.getColumnTypeName(i);
DatabaseMetaData metaDataColumns = conn.getMetaData();
ResultSet columns = metaDataColumns.getColumns(null, null, metaData.getTableName(i), metaData.getColumnName(i));
String remarks =null;
while (columns.next()){
remarks = columns.getString("REMARKS");
log.info("字段备注:"+remarks);
}
DataValue build = DataValue.builder()
.key(metaData.getColumnName(i))
.label(remarks)
.value(resultSet.getObject(i, DataType.convertType(columnTypeName)))
.type(DataType.findBySqlType(columnTypeName))
.build();
map.put(i,build);
dataValues[c][i-1]=build;
}else {
DataValue build = DataValue.builder()
.key(metaData.getColumnName(i))
.label(map.get(i).getLabel())
.value(resultSet.getObject(i, map.get(i).getType().getTargetType()))
.type(map.get(i).getType())
.build();
dataValues[c][i-1]=build;
}
}
c++;
}
} catch (SQLException e) {
throw new RuntimeException(e);
}finally {
close(hikariDataSource); // 关闭数据源
}
return dataValues;
}
private static void close(HikariDataSource dataSource) {
if (dataSource != null) {
dataSource.close();
}
}
}

View File

@ -1,4 +1,4 @@
package com.muyu.server.data.mysql;
package com.muyu.server.mysql;
import lombok.AllArgsConstructor;
import lombok.Data;
@ -24,7 +24,13 @@ public class MySqlQuery
private String dataSourceId;
private String dataTableName;
private String dataName;
private String sql;
private Long one;
private Integer two;
private Map<String ,Object> params;
}

View File

@ -2,6 +2,7 @@ package com.muyu.server.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.domain.Connect;
import com.muyu.common.domain.DataName;
import java.util.List;
@ -40,4 +41,11 @@ public interface ConnectService extends IService<Connect> {
* @return
*/
boolean text(Connect connect);
/**
*
* @param dataName
* @return
*/
Connect selectData(String dataName);
}

View File

@ -1,5 +1,7 @@
package com.muyu.server.service;
import com.muyu.common.domain.DataValue;
/**
*@Authoryang
*@Packagecom.muyu.server.service
@ -16,4 +18,15 @@ public interface DataLinkService {
* @return
*/
public Long findCount(String dataName, String sql);
/**
* dashuju
*
* @param dataName
* @param sql sql
* @param one
* @param two
* @return
*/
DataValue[][] findSelectDataList(String dataName, String sql, String dataTableName, Long one, Integer two);
}

View File

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.enums.SystemYesNo;
import com.muyu.common.domain.Connect;
import com.muyu.common.domain.DataName;
import com.muyu.server.mapper.ConnectMapper;
import com.muyu.server.service.ConnectService;
import com.muyu.server.service.OrderConnectService;
@ -29,6 +30,7 @@ public class ConnectServiceImpl
implements ConnectService {
private final OrderConnectService orderConnectService;
private final ConnectMapper connectMapper;
@ -97,6 +99,11 @@ public class ConnectServiceImpl
}
}
@Override
public Connect selectData(String dataName) {
return connectMapper.selectData(dataName);
}
private boolean settingStatus(Integer id, String initialization) {
return this.updateById(
Connect.builder()

View File

@ -45,10 +45,6 @@ public class CoreDataListServiceImpl
StringUtils.isNotEmpty(dataSourceList.getAddress()),
CoreDataList::getAddress, dataSourceList.getAddress()
);
queryWrapper.eq(
StringUtils.isNotEmpty(dataSourceList.getMibile()),
CoreDataList::getMobile, dataSourceList.getMibile()
);
List<CoreDataList> dataSourceListList = this.list(queryWrapper);
return dataSourceListList.stream()
.map(

View File

@ -2,9 +2,11 @@ package com.muyu.server.service.impl;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidPooledConnection;
import com.muyu.common.domain.DataValue;
import com.muyu.server.mysql.MySqlDataSource;
import com.muyu.server.mysql.MySqlQuery;
import com.muyu.server.service.DataLinkService;
import com.muyu.server.util.JdbcHelper;
import lombok.extern.log4j.Log4j;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
@ -46,4 +48,18 @@ public class DataLinkServiceImpl implements DataLinkService {
}
return null;
}
@Override
public DataValue[][] findSelectDataList(String dataName, String sql, String dataTableName, Long one, Integer two) {
MySqlQuery mySqlQuery = new MySqlQuery();
mySqlQuery.setSql(sql);
mySqlQuery.setDataName(dataName);
mySqlQuery.setDataTableName(dataTableName);
mySqlQuery.setOne(one);
mySqlQuery.setTwo(two);
MySqlDataSource mySqlDataSource = new MySqlDataSource();
DataValue[][] rows = mySqlDataSource.getSqlDataSource();
return rows;
}
}

View File

@ -10,7 +10,7 @@ import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.common.system.domain.SysDept;
import com.muyu.common.system.domain.SysUser;
import com.muyu.server.data.mysql.MySqlQuery;
import com.muyu.server.mysql.MySqlQuery;
import com.muyu.server.mapper.DataRunNameMapper;
import com.muyu.server.service.*;
import com.muyu.server.util.JdbcHelper;

View File

@ -29,7 +29,7 @@ public class JdbcHelper {
try {
DruidDataSource druidDataSource = new DruidDataSource();
String dcp = connect.getDataConnParam();
druidDataSource.setUrl(new ConnectReq().getURL()
druidDataSource.setUrl(new ConnectReq().getUrl()
+connect.getIpAddress()+":"+connect.getPort()+
"/"+connect.getDatabaseName() +
(dcp != null && !dcp.isEmpty()? "?" + dcp : ""));

View File

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.muyu.server.mapper.ConnectMapper">
<select id="selectData" resultType="com.muyu.common.domain.Connect">
select *
from connect where name=#{dataName};
</select>
</mapper>

View File

@ -26,3 +26,75 @@
09:21:38.998 [com.alibaba.nacos.client.remote.worker.0] INFO c.a.n.c.c.i.ClientWorker - [onConnected,713] - [3a09ddda-aaf8-4ac1-ba90-27dc507c9d9a_config-0] Connected,notify listen context...
09:21:41.420 [main] INFO c.a.d.p.DruidDataSource - [init,1002] - {dataSource-1,master} inited
09:21:41.424 [main] INFO o.a.c.c.StandardService - [log,173] - Stopping service [Tomcat]
09:26:51.438 [main] INFO c.m.s.IntegrationApplication - [logStartupProfileInfo,660] - The following 1 profile is active: "dev"
09:26:53.239 [main] INFO o.a.c.c.StandardService - [log,173] - Starting service [Tomcat]
09:26:53.240 [main] INFO o.a.c.c.StandardEngine - [log,173] - Starting Servlet engine: [Apache Tomcat/10.1.24]
09:26:53.295 [main] INFO o.a.c.c.C.[.[.[/] - [log,173] - Initializing Spring embedded WebApplicationContext
09:26:56.698 [main] INFO c.a.d.p.DruidDataSource - [init,1002] - {dataSource-1,master} inited
09:26:56.699 [main] INFO c.b.d.d.DynamicRoutingDataSource - [addDataSource,158] - dynamic-datasource - add a datasource named [master] success
09:26:56.699 [main] INFO c.b.d.d.DynamicRoutingDataSource - [afterPropertiesSet,241] - dynamic-datasource initial loaded [1] datasource,primary datasource named [master]
09:26:57.623 [main] INFO c.a.c.s.SentinelWebMvcConfigurer - [addInterceptors,52] - [Sentinel Starter] register SentinelWebInterceptor with urlPatterns: [/**].
09:27:01.822 [main] INFO c.m.r.RabbitConfig - [init,29] - rabbitMQ启动成功
09:27:05.009 [main] INFO c.a.n.client.naming - [initNamespaceForNaming,62] - initializer namespace from ans.namespace attribute : null
09:27:05.010 [main] INFO c.a.n.client.naming - [lambda$initNamespaceForNaming$0,66] - initializer namespace from ALIBABA_ALIWARE_NAMESPACE attribute :null
09:27:05.010 [main] INFO c.a.n.client.naming - [lambda$initNamespaceForNaming$1,73] - initializer namespace from namespace attribute :null
09:27:05.015 [main] INFO c.a.n.client.naming - [<init>,74] - FailoverDataSource type is class com.alibaba.nacos.client.naming.backups.datasource.DiskFailoverDataSource
09:27:05.018 [main] INFO c.a.n.p.a.s.c.ClientAuthPluginManager - [init,56] - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success.
09:27:05.018 [main] INFO c.a.n.p.a.s.c.ClientAuthPluginManager - [init,56] - [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success.
09:27:05.179 [main] INFO c.a.n.c.r.client - [lambda$createClient$0,118] - [RpcClientFactory] create a new rpc client of a6dd6a37-b3eb-41ba-be5c-4c6619958c35
09:27:05.181 [main] INFO c.a.n.client.naming - [<init>,109] - Create naming rpc client for uuid->a6dd6a37-b3eb-41ba-be5c-4c6619958c35
09:27:05.182 [main] INFO c.a.n.c.r.client - [printIfInfoEnabled,63] - [a6dd6a37-b3eb-41ba-be5c-4c6619958c35] RpcClient init, ServerListFactory = com.alibaba.nacos.client.naming.core.ServerListManager
09:27:05.182 [main] INFO c.a.n.c.r.client - [printIfInfoEnabled,63] - [a6dd6a37-b3eb-41ba-be5c-4c6619958c35] Registry connection listener to current client:com.alibaba.nacos.client.naming.remote.gprc.redo.NamingGrpcRedoService
09:27:05.182 [main] INFO c.a.n.c.r.client - [printIfInfoEnabled,63] - [a6dd6a37-b3eb-41ba-be5c-4c6619958c35] Register server push request handler:com.alibaba.nacos.client.naming.remote.gprc.NamingPushRequestHandler
09:27:05.183 [main] INFO c.a.n.c.r.client - [printIfInfoEnabled,63] - [a6dd6a37-b3eb-41ba-be5c-4c6619958c35] Try to connect to server on start up, server: {serverIp = '21.12.0.8', server main port = 8848}
09:27:05.183 [main] INFO c.a.n.c.r.c.g.GrpcClient - [createNewManagedChannel,210] - grpc client connection server:21.12.0.8 ip,serverPort:9848,grpcTslConfig:{"sslProvider":"","enableTls":false,"mutualAuthEnable":false,"trustAll":false}
09:27:05.443 [main] INFO c.a.n.c.r.client - [printIfInfoEnabled,63] - [a6dd6a37-b3eb-41ba-be5c-4c6619958c35] Success to connect to server [21.12.0.8:8848] on start up, connectionId = 1725758825136_21.12.0.11_62214
09:27:05.444 [main] INFO c.a.n.c.r.client - [printIfInfoEnabled,63] - [a6dd6a37-b3eb-41ba-be5c-4c6619958c35] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$ConnectResetRequestHandler
09:27:05.444 [com.alibaba.nacos.client.remote.worker.0] INFO c.a.n.c.r.client - [printIfInfoEnabled,63] - [a6dd6a37-b3eb-41ba-be5c-4c6619958c35] Notify connected event to listeners.
09:27:05.444 [main] INFO c.a.n.c.r.client - [printIfInfoEnabled,63] - [a6dd6a37-b3eb-41ba-be5c-4c6619958c35] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$$Lambda$576/0x000001a4504f1b20
09:27:05.444 [com.alibaba.nacos.client.remote.worker.0] INFO c.a.n.client.naming - [onConnected,90] - Grpc connection connect
09:27:05.445 [main] INFO c.a.n.client.naming - [registerService,133] - [REGISTER-SERVICE] ec66ecf1-f28e-43bc-aa86-625f1bc53bf8 registering service cloud-property with instance Instance{instanceId='null', ip='192.168.97.139', port=9701, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={IPv6=null, preserved.register.source=SPRING_CLOUD}}
09:27:05.507 [main] INFO c.a.c.n.r.NacosServiceRegistry - [register,76] - nacos registry, DEFAULT_GROUP cloud-property 192.168.97.139:9701 register finished
09:27:06.649 [main] INFO c.m.s.IntegrationApplication - [logStarted,56] - Started IntegrationApplication in 20.267 seconds (process running for 20.961)
09:27:06.659 [main] INFO c.a.n.c.c.i.CacheData - [initNotifyWarnTimeout,72] - config listener notify warn timeout millis use default 60000 millis
09:27:06.659 [main] INFO c.a.n.c.c.i.CacheData - [<clinit>,99] - nacos.cache.data.init.snapshot = true
09:27:06.660 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,416] - [fixed-ec66ecf1-f28e-43bc-aa86-625f1bc53bf8-21.12.0.8_8848] [subscribe] cloud-property.yml+DEFAULT_GROUP+ec66ecf1-f28e-43bc-aa86-625f1bc53bf8
09:27:06.669 [main] INFO c.a.n.c.c.i.CacheData - [addListener,236] - [fixed-ec66ecf1-f28e-43bc-aa86-625f1bc53bf8-21.12.0.8_8848] [add-listener] ok, tenant=ec66ecf1-f28e-43bc-aa86-625f1bc53bf8, dataId=cloud-property.yml, group=DEFAULT_GROUP, cnt=1
09:27:06.669 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListener,131] - [Nacos Config] Listening config: dataId=cloud-property.yml, group=DEFAULT_GROUP
09:27:06.671 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,416] - [fixed-ec66ecf1-f28e-43bc-aa86-625f1bc53bf8-21.12.0.8_8848] [subscribe] cloud-property+DEFAULT_GROUP+ec66ecf1-f28e-43bc-aa86-625f1bc53bf8
09:27:06.671 [main] INFO c.a.n.c.c.i.CacheData - [addListener,236] - [fixed-ec66ecf1-f28e-43bc-aa86-625f1bc53bf8-21.12.0.8_8848] [add-listener] ok, tenant=ec66ecf1-f28e-43bc-aa86-625f1bc53bf8, dataId=cloud-property, group=DEFAULT_GROUP, cnt=1
09:27:06.671 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListener,131] - [Nacos Config] Listening config: dataId=cloud-property, group=DEFAULT_GROUP
09:27:06.673 [main] INFO c.a.n.c.c.i.ClientWorker - [addCacheDataIfAbsent,416] - [fixed-ec66ecf1-f28e-43bc-aa86-625f1bc53bf8-21.12.0.8_8848] [subscribe] cloud-property-dev.yml+DEFAULT_GROUP+ec66ecf1-f28e-43bc-aa86-625f1bc53bf8
09:27:06.673 [main] INFO c.a.n.c.c.i.CacheData - [addListener,236] - [fixed-ec66ecf1-f28e-43bc-aa86-625f1bc53bf8-21.12.0.8_8848] [add-listener] ok, tenant=ec66ecf1-f28e-43bc-aa86-625f1bc53bf8, dataId=cloud-property-dev.yml, group=DEFAULT_GROUP, cnt=1
09:27:06.673 [main] INFO c.a.c.n.r.NacosContextRefresher - [registerNacosListener,131] - [Nacos Config] Listening config: dataId=cloud-property-dev.yml, group=DEFAULT_GROUP
09:27:06.944 [RMI TCP Connection(5)-192.168.97.139] INFO o.a.c.c.C.[.[.[/] - [log,173] - Initializing Spring DispatcherServlet 'dispatcherServlet'
09:28:27.157 [http-nio-9701-exec-1] INFO c.a.d.p.DruidDataSource - [init,1002] - {dataSource-2} inited
09:34:25.532 [SpringApplicationShutdownHook] INFO c.a.c.n.r.NacosServiceRegistry - [deregister,95] - De-registering from Nacos Server now...
09:34:25.532 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [deregisterService,272] - [DEREGISTER-SERVICE] ec66ecf1-f28e-43bc-aa86-625f1bc53bf8 deregistering service cloud-property with instance: Instance{instanceId='null', ip='192.168.97.139', port=9701, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={}}
09:34:25.581 [SpringApplicationShutdownHook] INFO c.a.c.n.r.NacosServiceRegistry - [deregister,115] - De-registration finished.
09:34:25.582 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,254] - com.alibaba.nacos.client.naming.cache.ServiceInfoHolder do shutdown begin
09:34:25.583 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,180] - com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown begin
09:34:25.583 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,182] - com.alibaba.nacos.client.naming.backups.FailoverReactor do shutdown stop
09:34:25.584 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,256] - com.alibaba.nacos.client.naming.cache.ServiceInfoHolder do shutdown stop
09:34:25.584 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,204] - com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate do shutdown begin
09:34:25.584 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,147] - com.alibaba.nacos.client.naming.core.ServiceInfoUpdateService do shutdown begin
09:34:25.585 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,149] - com.alibaba.nacos.client.naming.core.ServiceInfoUpdateService do shutdown stop
09:34:25.585 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,218] - com.alibaba.nacos.client.naming.core.ServerListManager do shutdown begin
09:34:25.585 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,223] - com.alibaba.nacos.client.naming.core.ServerListManager do shutdown stop
09:34:25.585 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,468] - com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy do shutdown begin
09:34:25.585 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,470] - com.alibaba.nacos.client.naming.remote.http.NamingHttpClientProxy do shutdown stop
09:34:25.585 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,487] - Shutdown naming grpc client proxy for uuid->a6dd6a37-b3eb-41ba-be5c-4c6619958c35
09:34:25.586 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,331] - Shutdown grpc redo service executor java.util.concurrent.ScheduledThreadPoolExecutor@6521f700[Running, pool size = 1, active threads = 0, queued tasks = 1, completed tasks = 146]
09:34:25.586 [SpringApplicationShutdownHook] INFO c.a.n.c.r.client - [shutdown,425] - Shutdown rpc client, set status to shutdown
09:34:25.586 [SpringApplicationShutdownHook] INFO c.a.n.c.r.client - [shutdown,427] - Shutdown client event executor java.util.concurrent.ScheduledThreadPoolExecutor@614ff3b6[Running, pool size = 2, active threads = 2, queued tasks = 0, completed tasks = 0]
09:34:25.586 [SpringApplicationShutdownHook] INFO c.a.n.c.r.client - [closeConnection,584] - Close current connection 1725758825136_21.12.0.11_62214
09:34:25.590 [SpringApplicationShutdownHook] INFO c.a.n.c.r.c.g.GrpcClient - [shutdown,187] - Shutdown grpc executor java.util.concurrent.ThreadPoolExecutor@167d77bb[Running, pool size = 3, active threads = 0, queued tasks = 0, completed tasks = 92]
09:34:25.590 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutDownAndRemove,497] - shutdown and remove naming rpc client for uuid ->a6dd6a37-b3eb-41ba-be5c-4c6619958c35
09:34:25.590 [SpringApplicationShutdownHook] INFO c.a.n.c.a.r.i.CredentialWatcher - [stop,107] - [null] CredentialWatcher is stopped
09:34:25.591 [SpringApplicationShutdownHook] INFO c.a.n.c.a.r.i.CredentialService - [free,91] - [null] CredentialService is freed
09:34:25.591 [SpringApplicationShutdownHook] INFO c.a.n.client.naming - [shutdown,211] - com.alibaba.nacos.client.naming.remote.NamingClientProxyDelegate do shutdown stop
09:34:25.593 [SpringApplicationShutdownHook] INFO c.b.d.d.DynamicRoutingDataSource - [destroy,215] - dynamic-datasource start closing ....
09:34:25.596 [SpringApplicationShutdownHook] INFO c.a.d.p.DruidDataSource - [close,2204] - {dataSource-1} closing ...
09:34:25.602 [SpringApplicationShutdownHook] INFO c.a.d.p.DruidDataSource - [close,2277] - {dataSource-1} closed
09:34:25.603 [SpringApplicationShutdownHook] INFO c.b.d.d.d.DefaultDataSourceDestroyer - [destroy,98] - dynamic-datasource close the datasource named [master] success,
09:34:25.603 [SpringApplicationShutdownHook] INFO c.b.d.d.DynamicRoutingDataSource - [destroy,219] - dynamic-datasource all closed success,bye