Commit ba7da3b0 by chamberone

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

1 parent b7d0b98f
......@@ -10,6 +10,7 @@ providerConfig=$(cat ../config/project-provider.yaml)
consumerConfig=$(cat ../config/project-consumer.yaml)
userConfig=$(cat ../config/project-user.yaml)
gisConfig=$(cat ../config/project-gis.yaml)
redisConfig=$(cat ../config/redis-config.yaml)
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=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.
#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-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"
\ No newline at end of file
......@@ -23,10 +23,6 @@
<dependencies>
<dependency>
<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>
</dependency>
<dependency>
......@@ -50,6 +46,19 @@
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
</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>com.supermap</groupId>
......
......@@ -19,7 +19,10 @@ spring:
server-addr: nacos-server:8848
group: project
file-extension: yaml
import-check:
# no config file
enabled: false
# DistrictService es配置
district:
es:
......
......@@ -22,10 +22,6 @@
<dependencies>
<dependency>
<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>
</dependency>
<dependency>
......@@ -49,6 +45,19 @@
</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>
<artifactId>spring-context</artifactId>
</dependency>
......
......@@ -3,7 +3,7 @@ server:
spring:
application:
name: geometry
name: project-geometry
serverlet:
encoding:
charset: utf-8
......@@ -19,3 +19,7 @@ spring:
server-addr: nacos-server:8848
group: project
file-extension: yaml
import-check:
# no config file
enabled: false
......@@ -30,6 +30,23 @@
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</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>
<groupId>org.springframework.boot</groupId>
......
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.lang.StringUtils;
import org.apache.commons.lang.math.RandomUtils;
......@@ -12,12 +18,6 @@ import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.springframework.beans.factory.annotation.Value;
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连接管理
*
......@@ -26,10 +26,8 @@ import java.util.concurrent.TimeUnit;
@Component
public class EsClientPoolFactory {
private static final String FENDAN_INDEX_NAME = "addresstoarea";
private static int poolSize = 1;
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 ip = "121.37.145.153";
private static final int port = 9300;
......@@ -40,12 +38,6 @@ public class EsClientPoolFactory {
@Value("${spring.data.elasticsearch.cluster_nodes:''}")
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;
@PostConstruct
......@@ -61,16 +53,6 @@ public class EsClientPoolFactory {
} else {
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");
for (int i = 0; i < poolSize; i++) {
try {
......@@ -83,16 +65,6 @@ public class EsClientPoolFactory {
} catch (Exception e) {
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 {
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);
} catch (Exception e) {
......@@ -136,16 +96,12 @@ public class EsClientPoolFactory {
}
/**
* 获取客户端,自动区分分单索引(分单索引)
* 获取客户端
*
* @return
*/
public static TransportClient getClient(String index) {
if (StringUtils.equalsIgnoreCase(index, FENDAN_INDEX_NAME)) {
return fendanClients[RandomUtils.nextInt(poolSize)];
} else {
return clients[RandomUtils.nextInt(poolSize)];
}
return clients[RandomUtils.nextInt(poolSize)];
}
private TransportClient generateClient() throws NumberFormatException, UnknownHostException {
......@@ -158,36 +114,12 @@ public class EsClientPoolFactory {
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()),
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());
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);
System.out.println("es TransportClient connect: " + ipPort[0].trim() + ":" + port);
address = new TransportAddress(InetAddress.getByName(ipPort[0].trim()), port);
}
client.addTransportAddress(address);
......
......@@ -10,6 +10,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import java.lang.reflect.Field;
......@@ -33,6 +34,7 @@ public class MiddlePlatformLoger {
/**
* 服务器辅助工具
*/
@Lazy
@Autowired
private ServerUtils serverUtils;
/**
......
......@@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
......@@ -73,6 +74,7 @@ public class AreaDataset {
*/
private volatile Datasets datasets;
@Lazy
@Autowired
private MemoryDataTool memoryDataTool;
......@@ -80,7 +82,7 @@ public class AreaDataset {
/**
* 数据源初始化
*/
@PostConstruct
// @PostConstruct
private synchronized void init() {
if (null == datasource) {
log.info("## start load datasource ...\r\n## "
......
......@@ -34,7 +34,7 @@ public class MemoryDataTool {
//用户对应表关系
public static final Map<String, String> MAP_TEAM_DATESET = new HashMap<>();
@PostConstruct
// @PostConstruct
public void init() {
if (memoryDataSource == null) {
......
......@@ -23,18 +23,32 @@ spring:
import:
- optional:nacos:project-gis.yaml
- optional:nacos:datasource-config.yaml
- optional:nacos:redis-config.yaml
# - optional:nacos:redis-config.yaml
data:
elasticsearch:
cluster_name: dituhui-cluster
cluster_nodes: 10.0.5.40:52000,10.0.5.110:52000,10.0.5.237:52000
fendan_cluster_name: dituhui-cluster
fendan_cluster_nodes: 10.0.5.40:52000,10.0.5.110:52000,10.0.5.237:52000
cluster_nodes: 10.0.5.40:52000
kafka:
producer:
retries: 0
acks: 1
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数据库
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!