Commit ba7da3b0 by chamberone

fix: 修复gis,geomertry,district服务启动报错问题

1 parent b7d0b98f
...@@ -10,6 +10,7 @@ providerConfig=$(cat ../config/project-provider.yaml) ...@@ -10,6 +10,7 @@ providerConfig=$(cat ../config/project-provider.yaml)
consumerConfig=$(cat ../config/project-consumer.yaml) consumerConfig=$(cat ../config/project-consumer.yaml)
userConfig=$(cat ../config/project-user.yaml) userConfig=$(cat ../config/project-user.yaml)
gisConfig=$(cat ../config/project-gis.yaml) gisConfig=$(cat ../config/project-gis.yaml)
redisConfig=$(cat ../config/redis-config.yaml)
groupId="project" groupId="project"
curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=datasource-config.yaml&group=${groupId}&content=${datasourceConfig}" curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=datasource-config.yaml&group=${groupId}&content=${datasourceConfig}"
#curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-storage.yaml&group=${groupId}&content=${storageConfig}" #curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-storage.yaml&group=${groupId}&content=${storageConfig}"
...@@ -20,4 +21,5 @@ curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-gateway. ...@@ -20,4 +21,5 @@ curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-gateway.
#curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-consumer.yaml&group=${groupId}&content=${consumerConfig}" #curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-consumer.yaml&group=${groupId}&content=${consumerConfig}"
curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-user.yaml&group=${groupId}&content=${userConfig}" curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-user.yaml&group=${groupId}&content=${userConfig}"
curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-gis.yaml&group=${groupId}&content=${gisConfig}" curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=project-gis.yaml&group=${groupId}&content=${gisConfig}"
curl -X POST "nacos-server:8848/nacos/v1/cs/configs" -d "dataId=redis-config.yaml&group=${groupId}&content=${redisConfig}"
echo "Nacos config pushed successfully finished" echo "Nacos config pushed successfully finished"
\ No newline at end of file
...@@ -23,10 +23,6 @@ ...@@ -23,10 +23,6 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId> <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency> </dependency>
<dependency> <dependency>
...@@ -50,6 +46,19 @@ ...@@ -50,6 +46,19 @@
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId> <artifactId>spring-aspects</artifactId>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency> <dependency>
<groupId>com.supermap</groupId> <groupId>com.supermap</groupId>
......
...@@ -19,7 +19,10 @@ spring: ...@@ -19,7 +19,10 @@ spring:
server-addr: nacos-server:8848 server-addr: nacos-server:8848
group: project group: project
file-extension: yaml file-extension: yaml
import-check:
# no config file
enabled: false
# DistrictService es配置 # DistrictService es配置
district: district:
es: es:
......
...@@ -22,10 +22,6 @@ ...@@ -22,10 +22,6 @@
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId> <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency> </dependency>
<dependency> <dependency>
...@@ -49,6 +45,19 @@ ...@@ -49,6 +45,19 @@
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId> <artifactId>spring-context</artifactId>
</dependency> </dependency>
......
...@@ -3,7 +3,7 @@ server: ...@@ -3,7 +3,7 @@ server:
spring: spring:
application: application:
name: geometry name: project-geometry
serverlet: serverlet:
encoding: encoding:
charset: utf-8 charset: utf-8
...@@ -19,3 +19,7 @@ spring: ...@@ -19,3 +19,7 @@ spring:
server-addr: nacos-server:8848 server-addr: nacos-server:8848
group: project group: project
file-extension: yaml file-extension: yaml
import-check:
# no config file
enabled: false
...@@ -30,6 +30,23 @@ ...@@ -30,6 +30,23 @@
<artifactId>spring-boot-configuration-processor</artifactId> <artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
package com.dituhui.mp.gis.elasticsearch.utils; package com.dituhui.mp.gis.elasticsearch.utils;
import com.dituhui.mp.gis.util.SpringUtils; import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import java.util.concurrent.TimeUnit;
import javax.annotation.PostConstruct;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.RandomUtils; import org.apache.commons.lang.math.RandomUtils;
...@@ -12,12 +18,6 @@ import org.elasticsearch.transport.client.PreBuiltTransportClient; ...@@ -12,12 +18,6 @@ import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import java.util.concurrent.TimeUnit;
/** /**
* es连接管理 * es连接管理
* *
...@@ -26,10 +26,8 @@ import java.util.concurrent.TimeUnit; ...@@ -26,10 +26,8 @@ import java.util.concurrent.TimeUnit;
@Component @Component
public class EsClientPoolFactory { public class EsClientPoolFactory {
private static final String FENDAN_INDEX_NAME = "addresstoarea";
private static int poolSize = 1; private static int poolSize = 1;
private static TransportClient[] clients = new TransportClient[poolSize]; private static TransportClient[] clients = new TransportClient[poolSize];
private static TransportClient[] fendanClients = new TransportClient[poolSize];
private static final String cluster_name = "middleplatform-cluster"; private static final String cluster_name = "middleplatform-cluster";
private static final String ip = "121.37.145.153"; private static final String ip = "121.37.145.153";
private static final int port = 9300; private static final int port = 9300;
...@@ -40,12 +38,6 @@ public class EsClientPoolFactory { ...@@ -40,12 +38,6 @@ public class EsClientPoolFactory {
@Value("${spring.data.elasticsearch.cluster_nodes:''}") @Value("${spring.data.elasticsearch.cluster_nodes:''}")
private String clusterNodes; private String clusterNodes;
@Value("${spring.data.elasticsearch.fendan_cluster_name:''}")
private String fendanClusterName;
@Value("${spring.data.elasticsearch.fendan_cluster_nodes:''}")
private String fendanClusterNodes;
private ESProperties esProperties; private ESProperties esProperties;
@PostConstruct @PostConstruct
...@@ -61,16 +53,6 @@ public class EsClientPoolFactory { ...@@ -61,16 +53,6 @@ public class EsClientPoolFactory {
} else { } else {
esProperties.setClusterNodes(clusterNodes); esProperties.setClusterNodes(clusterNodes);
} }
if (StringUtils.isBlank(clusterName)) {
esProperties.setFendanClusterName(cluster_name);//没有配置走默认
} else {
esProperties.setFendanClusterName(fendanClusterName);
}
if (StringUtils.isBlank(clusterNodes)) {
esProperties.setFendanClusterNodes(ip + ":" + port);//没有配置走默认
} else {
esProperties.setFendanClusterNodes(fendanClusterNodes);
}
System.setProperty("es.set.netty.runtime.available.processors", "false"); System.setProperty("es.set.netty.runtime.available.processors", "false");
for (int i = 0; i < poolSize; i++) { for (int i = 0; i < poolSize; i++) {
try { try {
...@@ -83,16 +65,6 @@ public class EsClientPoolFactory { ...@@ -83,16 +65,6 @@ public class EsClientPoolFactory {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
try {
TransportClient fendanClient = generateFendanClient();
while (null == fendanClient) {
TimeUnit.SECONDS.sleep(30);
fendanClient = generateFendanClient();
}
fendanClients[i] = fendanClient;
} catch (Exception e) {
e.printStackTrace();
}
} }
// 检查线程 // 检查线程
...@@ -113,18 +85,6 @@ public class EsClientPoolFactory { ...@@ -113,18 +85,6 @@ public class EsClientPoolFactory {
clients[i] = generateClient(); clients[i] = generateClient();
} }
//fendan
TransportClient fendanClient = fendanClients[i];
List<DiscoveryNode> fendanNodes = null;
try {
fendanNodes = fendanClient.connectedNodes();
} catch (Exception e) {
e.printStackTrace();
}
if (CollectionUtils.isEmpty(fendanNodes)) {
System.out.println("重新连接fendan es");
fendanClients[i] = generateFendanClient();
}
} }
TimeUnit.MINUTES.sleep(5); TimeUnit.MINUTES.sleep(5);
} catch (Exception e) { } catch (Exception e) {
...@@ -136,16 +96,12 @@ public class EsClientPoolFactory { ...@@ -136,16 +96,12 @@ public class EsClientPoolFactory {
} }
/** /**
* 获取客户端,自动区分分单索引(分单索引) * 获取客户端
* *
* @return * @return
*/ */
public static TransportClient getClient(String index) { public static TransportClient getClient(String index) {
if (StringUtils.equalsIgnoreCase(index, FENDAN_INDEX_NAME)) { return clients[RandomUtils.nextInt(poolSize)];
return fendanClients[RandomUtils.nextInt(poolSize)];
} else {
return clients[RandomUtils.nextInt(poolSize)];
}
} }
private TransportClient generateClient() throws NumberFormatException, UnknownHostException { private TransportClient generateClient() throws NumberFormatException, UnknownHostException {
...@@ -158,36 +114,12 @@ public class EsClientPoolFactory { ...@@ -158,36 +114,12 @@ public class EsClientPoolFactory {
String[] ipPort = node.split(":"); String[] ipPort = node.split(":");
TransportAddress address = null; TransportAddress address = null;
if (ipPort.length > 1 && StringUtils.isNotBlank(ipPort[1])) { if (ipPort.length > 1 && StringUtils.isNotBlank(ipPort[1])) {
System.out.println(ipPort[0].trim() + ":" + ipPort[1].trim()); System.out.println("es TransportClient connect: " + ipPort[0].trim() + ":" + ipPort[1].trim());
address = new TransportAddress(InetAddress.getByName(ipPort[0].trim()),
Integer.parseInt(ipPort[1].trim()));
} else {
// 默认端口
System.out.println(ipPort[0].trim() + ":" + port);
address = new TransportAddress(InetAddress.getByName(ipPort[0].trim()), port);
}
client.addTransportAddress(address);
}
}
return client;
}
private TransportClient generateFendanClient() throws NumberFormatException, UnknownHostException {
String[] nodes = esProperties.getFendanClusterNodes().split(",");
Settings settings = Settings.builder().put("cluster.name", esProperties.getFendanClusterName()).build();
TransportClient client = new PreBuiltTransportClient(settings);
for (String node : nodes) {
if (StringUtils.isNotBlank(node)) {
String[] ipPort = node.split(":");
TransportAddress address = null;
if (ipPort.length > 1 && StringUtils.isNotBlank(ipPort[1])) {
System.out.println(ipPort[0].trim() + ":" + ipPort[1].trim());
address = new TransportAddress(InetAddress.getByName(ipPort[0].trim()), address = new TransportAddress(InetAddress.getByName(ipPort[0].trim()),
Integer.parseInt(ipPort[1].trim())); Integer.parseInt(ipPort[1].trim()));
} else { } else {
// 默认端口 // 默认端口
System.out.println(ipPort[0].trim() + ":" + port); System.out.println("es TransportClient connect: " + ipPort[0].trim() + ":" + port);
address = new TransportAddress(InetAddress.getByName(ipPort[0].trim()), port); address = new TransportAddress(InetAddress.getByName(ipPort[0].trim()), port);
} }
client.addTransportAddress(address); client.addTransportAddress(address);
......
...@@ -10,6 +10,7 @@ import org.slf4j.Logger; ...@@ -10,6 +10,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.lang.reflect.Field; import java.lang.reflect.Field;
...@@ -33,6 +34,7 @@ public class MiddlePlatformLoger { ...@@ -33,6 +34,7 @@ public class MiddlePlatformLoger {
/** /**
* 服务器辅助工具 * 服务器辅助工具
*/ */
@Lazy
@Autowired @Autowired
private ServerUtils serverUtils; private ServerUtils serverUtils;
/** /**
......
...@@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j; ...@@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
...@@ -73,6 +74,7 @@ public class AreaDataset { ...@@ -73,6 +74,7 @@ public class AreaDataset {
*/ */
private volatile Datasets datasets; private volatile Datasets datasets;
@Lazy
@Autowired @Autowired
private MemoryDataTool memoryDataTool; private MemoryDataTool memoryDataTool;
...@@ -80,7 +82,7 @@ public class AreaDataset { ...@@ -80,7 +82,7 @@ public class AreaDataset {
/** /**
* 数据源初始化 * 数据源初始化
*/ */
@PostConstruct // @PostConstruct
private synchronized void init() { private synchronized void init() {
if (null == datasource) { if (null == datasource) {
log.info("## start load datasource ...\r\n## " log.info("## start load datasource ...\r\n## "
......
...@@ -34,7 +34,7 @@ public class MemoryDataTool { ...@@ -34,7 +34,7 @@ public class MemoryDataTool {
//用户对应表关系 //用户对应表关系
public static final Map<String, String> MAP_TEAM_DATESET = new HashMap<>(); public static final Map<String, String> MAP_TEAM_DATESET = new HashMap<>();
@PostConstruct // @PostConstruct
public void init() { public void init() {
if (memoryDataSource == null) { if (memoryDataSource == null) {
......
...@@ -23,18 +23,32 @@ spring: ...@@ -23,18 +23,32 @@ spring:
import: import:
- optional:nacos:project-gis.yaml - optional:nacos:project-gis.yaml
- optional:nacos:datasource-config.yaml - optional:nacos:datasource-config.yaml
- optional:nacos:redis-config.yaml # - optional:nacos:redis-config.yaml
data: data:
elasticsearch: elasticsearch:
cluster_name: dituhui-cluster cluster_name: dituhui-cluster
cluster_nodes: 10.0.5.40:52000,10.0.5.110:52000,10.0.5.237:52000 cluster_nodes: 10.0.5.40:52000
fendan_cluster_name: dituhui-cluster
fendan_cluster_nodes: 10.0.5.40:52000,10.0.5.110:52000,10.0.5.237:52000
kafka: kafka:
producer: producer:
retries: 0 retries: 0
acks: 1 acks: 1
value-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.kafka.common.serialization.StringSerializer
bootstrap-servers: http://kafka:9092
consumer:
group-id: mpGroup
template:
default-topic: middleplatform-area
redis:
host: redis
port: 6379
database: 0
password: 123456
jedis:
pool:
max-active: 32
min-idle: 0
max-idle: 8
max-wait: -1
# AreaDataset pg数据库 # AreaDataset pg数据库
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!