diff --git a/pom.xml b/pom.xml
index 6fa87d1..11534d0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,6 +16,7 @@
service-yarn-query
service-flink-query
service-web
+ service-forest
@@ -23,8 +24,45 @@
8
UTF-8
+ b1e11
+
+ 2.6.8
+ 2021.0.3
+
+
+ b1e1
+
+ b1e1
+
+
+
+ b1e11
+
+ b1e11
+
+
+
+ b2e1
+
+ b2e1
+
+
+
+ b5s119
+
+ b5s119
+
+
+
+ b2s119
+
+ b2s119
+
+
+
+
com.eshore.odcp.hudi.connector
@@ -127,17 +165,27 @@
pulsar-client-admin
2.8.0
+
+ org.apache.hadoop
+ hadoop-client
+ 3.1.2
+
+
+ org.apache.hadoop
+ hadoop-yarn-client
+ 3.1.2
+
org.springframework.boot
spring-boot-dependencies
- 2.6.8
+ ${spring-boot.version}
pom
import
org.springframework.cloud
spring-cloud-dependencies
- 2021.0.3
+ ${spring-cloud.version}
pom
import
@@ -150,7 +198,7 @@
org.springframework.boot
spring-boot-maven-plugin
- 2.6.8
+ ${spring-boot.version}
diff --git a/service-forest/pom.xml b/service-forest/pom.xml
new file mode 100644
index 0000000..84eb000
--- /dev/null
+++ b/service-forest/pom.xml
@@ -0,0 +1,27 @@
+
+
+ 4.0.0
+
+ com.lanyuanxiaoyao
+ hudi-service
+ 1.0.0-SNAPSHOT
+
+
+ service-forest
+
+
+
+ com.lanyuanxiaoyao
+ service-configuration
+ 1.0.0-SNAPSHOT
+
+
+ com.dtflys.forest
+ forest-spring-boot-starter
+ 1.5.30
+
+
+
+
\ No newline at end of file
diff --git a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/configuration/ForestsConfiguration.java b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/configuration/ForestsConfiguration.java
new file mode 100644
index 0000000..5777e34
--- /dev/null
+++ b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/configuration/ForestsConfiguration.java
@@ -0,0 +1,36 @@
+package com.lanyuanxiaoyao.service.forest.configuration;
+
+import cn.hutool.core.collection.ListUtil;
+import com.dtflys.forest.converter.json.ForestJacksonConverter;
+import com.dtflys.forest.springboot.annotation.ForestScan;
+import com.dtflys.forest.springboot.properties.ForestConfigurationProperties;
+import com.fasterxml.jackson.datatype.eclipsecollections.EclipseCollectionsModule;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author lanyuanxiaoyao
+ * @date 2023-04-24
+ */
+@ForestScan(basePackages = {
+ "com.lanyuanxiaoyao.service.forest.service"
+})
+@Configuration
+public class ForestsConfiguration {
+ @Bean
+ public ForestJacksonConverter forestJacksonConverter() {
+ ForestJacksonConverter converter = new ForestJacksonConverter();
+ converter.getMapper().registerModule(new EclipseCollectionsModule());
+ return converter;
+ }
+
+ /*@Bean
+ public ForestConfigurationProperties forestConfigurationProperties() {
+ ForestConfigurationProperties properties = new ForestConfigurationProperties();
+ properties.setBackend("httpclient");
+ properties.setInterceptors(ListUtil.of(SpringCloudDiscoveryInterceptor.class));
+ properties.setLogEnabled(false);
+ properties.setTimeout(60000);
+ return properties;
+ }*/
+}
diff --git a/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/configuration/SpringCloudDiscoveryInterceptor.java b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/configuration/SpringCloudDiscoveryInterceptor.java
new file mode 100644
index 0000000..cac04b4
--- /dev/null
+++ b/service-forest/src/main/java/com/lanyuanxiaoyao/service/forest/configuration/SpringCloudDiscoveryInterceptor.java
@@ -0,0 +1,54 @@
+package com.lanyuanxiaoyao.service.forest.configuration;
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.RandomUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.URLUtil;
+import com.dtflys.forest.auth.BasicAuth;
+import com.dtflys.forest.http.ForestAddress;
+import com.dtflys.forest.http.ForestRequest;
+import com.dtflys.forest.interceptor.Interceptor;
+import java.net.URL;
+import org.eclipse.collections.api.factory.Lists;
+import org.eclipse.collections.api.list.ImmutableList;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.client.ServiceInstance;
+import org.springframework.cloud.client.discovery.DiscoveryClient;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author lanyuanxiaoyao
+ * @date 2023-04-24
+ */
+@Component
+public class SpringCloudDiscoveryInterceptor implements Interceptor