refactor(pulsar-query): 优化pulsar项目依赖和代码性能

This commit is contained in:
2024-02-22 18:01:31 +08:00
parent ba7a68c565
commit 3ac4f80ab7
4 changed files with 76 additions and 42 deletions

56
pom.xml
View File

@@ -101,6 +101,62 @@
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>
<dependency>
<groupId>pl.tkowalcz.tjahzi</groupId>
<artifactId>logback-appender</artifactId>
<version>0.9.23</version>
</dependency>
<dependency>
<groupId>com.github.loki4j</groupId>
<artifactId>loki-logback-appender-jdk8</artifactId>
<version>1.4.2</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<dependency>
<groupId>dev.failsafe</groupId>
<artifactId>failsafe</artifactId>
<version>3.2.4</version>
</dependency>
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections</artifactId>
<version>10.4.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections-api</artifactId>
<version>10.4.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-eclipse-collections</artifactId>
<version>2.13.5</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.16</version>
</dependency>
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-client</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-client-admin</artifactId>
<version>2.8.0</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>

View File

@@ -1,9 +1,8 @@
package com.lanyuanxiaoyao.service.configuration.entity.pulsar; package com.lanyuanxiaoyao.service.configuration.entity.pulsar;
import cn.hutool.core.collection.ListUtil; import org.eclipse.collections.api.factory.Lists;
import java.util.List; import org.eclipse.collections.api.list.ImmutableList;
import java.util.Map; import org.eclipse.collections.api.map.ImmutableMap;
import java.util.stream.Collectors;
/** /**
* Pulsar 信息 * Pulsar 信息
@@ -12,10 +11,10 @@ import java.util.stream.Collectors;
* @date 2023-04-28 * @date 2023-04-28
*/ */
public class PulsarInfo { public class PulsarInfo {
public static final List<PulsarInfo> DEFAULT_INFOS = ListUtil.of( public static final ImmutableList<PulsarInfo> DEFAULT_INFOS = Lists.immutable.of(
new PulsarInfo( new PulsarInfo(
"main", "main",
ListUtil.of( Lists.immutable.of(
"132.122.113.167:16680", "132.122.113.167:16680",
"132.122.113.168:16680", "132.122.113.168:16680",
"132.122.113.169:16680", "132.122.113.169:16680",
@@ -32,7 +31,7 @@ public class PulsarInfo {
), ),
new PulsarInfo( new PulsarInfo(
"acct", "acct",
ListUtil.of( Lists.immutable.of(
"132.122.115.158:16650", "132.122.115.158:16650",
"132.122.115.159:16650", "132.122.115.159:16650",
"132.122.115.160:16650", "132.122.115.160:16650",
@@ -45,7 +44,7 @@ public class PulsarInfo {
), ),
new PulsarInfo( new PulsarInfo(
"order", "order",
ListUtil.of( Lists.immutable.of(
"132.122.115.158:16660", "132.122.115.158:16660",
"132.122.115.159:16660", "132.122.115.159:16660",
"132.122.115.160:16660", "132.122.115.160:16660",
@@ -58,7 +57,7 @@ public class PulsarInfo {
), ),
new PulsarInfo( new PulsarInfo(
"cust", "cust",
ListUtil.of( Lists.immutable.of(
"132.122.113.167:16670", "132.122.113.167:16670",
"132.122.113.168:16670", "132.122.113.168:16670",
"132.122.113.169:16670", "132.122.113.169:16670",
@@ -74,34 +73,24 @@ public class PulsarInfo {
"132.122.113.167:18108" "132.122.113.167:18108"
) )
); );
public static final Map<String, PulsarInfo> PULSAR_CLIENT_INFO_MAPPING = DEFAULT_INFOS.stream() public static final ImmutableMap<String, PulsarInfo> PULSAR_CLIENT_INFO_MAPPING = DEFAULT_INFOS
.flatMap(info -> info.getBrokers() .flatCollect(info -> info.getBrokers()
.stream() .collect(url -> new Pair<>(url, info)))
.map(url -> new Pair<>(url, info))) .toMap(Pair::getLeft, Pair::getRight)
.collect(Collectors.toMap(Pair::getLeft, Pair::getRight)); .toImmutable();
public static final Map<String, String> PULSAR_CLIENT_NAME_MAPPING = PULSAR_CLIENT_INFO_MAPPING.entrySet() public static final ImmutableMap<String, String> PULSAR_CLIENT_NAME_MAPPING = PULSAR_CLIENT_INFO_MAPPING.collectValues((key, value) -> value.getName());
.stream() public static final ImmutableMap<String, String> PULSAR_CLIENT_ADMIN_MAPPING = PULSAR_CLIENT_INFO_MAPPING.collectValues((key, value) -> value.getAdmin());
.map(entry -> new Pair<>(entry.getKey(), entry.getValue().name)) public static final ImmutableMap<String, String> PULSAR_CLIENT_PRESTO_MAPPING = PULSAR_CLIENT_INFO_MAPPING.collectValues((key, value) -> value.getPresto());
.collect(Collectors.toMap(Pair::getLeft, Pair::getRight)); public static final ImmutableMap<String, PulsarInfo> PULSAR_NAME_INFO_MAPPING = DEFAULT_INFOS.toMap(PulsarInfo::getName, info -> info).toImmutable();
public static final Map<String, String> PULSAR_CLIENT_ADMIN_MAPPING = PULSAR_CLIENT_INFO_MAPPING.entrySet()
.stream()
.map(entry -> new Pair<>(entry.getKey(), entry.getValue().admin))
.collect(Collectors.toMap(Pair::getLeft, Pair::getRight));
public static final Map<String, String> PULSAR_CLIENT_PRESTO_MAPPING = PULSAR_CLIENT_INFO_MAPPING.entrySet()
.stream()
.map(entry -> new Pair<>(entry.getKey(), entry.getValue().presto))
.collect(Collectors.toMap(Pair::getLeft, Pair::getRight));
public static final Map<String, PulsarInfo> PULSAR_NAME_INFO_MAPPING = DEFAULT_INFOS.stream()
.collect(Collectors.toMap(PulsarInfo::getName, info -> info));
private String name; private String name;
private List<String> brokers; private ImmutableList<String> brokers;
private String presto; private String presto;
private String admin; private String admin;
public PulsarInfo() { public PulsarInfo() {
} }
public PulsarInfo(String name, List<String> brokers, String presto, String admin) { public PulsarInfo(String name, ImmutableList<String> brokers, String presto, String admin) {
this.name = name; this.name = name;
this.brokers = brokers; this.brokers = brokers;
this.presto = presto; this.presto = presto;
@@ -112,7 +101,7 @@ public class PulsarInfo {
return name; return name;
} }
public List<String> getBrokers() { public ImmutableList<String> getBrokers() {
return brokers; return brokers;
} }

View File

@@ -61,48 +61,39 @@
<dependency> <dependency>
<groupId>pl.tkowalcz.tjahzi</groupId> <groupId>pl.tkowalcz.tjahzi</groupId>
<artifactId>logback-appender</artifactId> <artifactId>logback-appender</artifactId>
<version>0.9.23</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.loki4j</groupId> <groupId>com.github.loki4j</groupId>
<artifactId>loki-logback-appender-jdk8</artifactId> <artifactId>loki-logback-appender-jdk8</artifactId>
<version>1.4.2</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.apache.httpcomponents</groupId> <groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId> <artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>dev.failsafe</groupId> <groupId>dev.failsafe</groupId>
<artifactId>failsafe</artifactId> <artifactId>failsafe</artifactId>
<version>3.2.4</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.eclipse.collections</groupId> <groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections</artifactId> <artifactId>eclipse-collections</artifactId>
<version>10.4.0</version>
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.eclipse.collections</groupId> <groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections-api</artifactId> <artifactId>eclipse-collections-api</artifactId>
<version>10.4.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.fasterxml.jackson.datatype</groupId> <groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-eclipse-collections</artifactId> <artifactId>jackson-datatype-eclipse-collections</artifactId>
<version>2.13.5</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.hutool</groupId> <groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId> <artifactId>hutool-all</artifactId>
<version>5.7.16</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.github.ulisesbocchio</groupId> <groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId> <artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency> </dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -25,7 +25,6 @@
<dependency> <dependency>
<groupId>org.apache.pulsar</groupId> <groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-client</artifactId> <artifactId>pulsar-client</artifactId>
<version>2.8.0</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>javax.validation</groupId> <groupId>javax.validation</groupId>
@@ -36,7 +35,6 @@
<dependency> <dependency>
<groupId>org.apache.pulsar</groupId> <groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-client-admin</artifactId> <artifactId>pulsar-client-admin</artifactId>
<version>2.8.0</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>javax.validation</groupId> <groupId>javax.validation</groupId>