From 8254fe98cd415b8db2893ac95fdf7b2b739ea2f4 Mon Sep 17 00:00:00 2001
From: wulingxiao <1251605638@qqcom>
Date: Tue, 12 Jul 2022 21:10:31 +0800
Subject: [PATCH] optimize code
---
.../pom.xml | 2 +-
.../metadata/concurrent/MetadataWrap.java | 37 -------------------
.../concurrent/executor/MetadataExecutor.java | 7 ++--
.../executor/MetadataExecutorService.java | 3 +-
.../executor/MetadataExecutors.java | 7 ++--
.../MetadataScheduledExecutorService.java | 3 +-
.../metadata/concurrent/MetadataTestUtil.java | 1 -
.../executor/MetadataExecutorServiceTest.java | 1 -
.../executor/MetadataExecutorTest.java | 5 +--
.../executor/MetadataExecutorsTest.java | 1 -
.../MetadataScheduledExecutorServiceTest.java | 1 -
spring-cloud-tencent-commons/pom.xml | 6 +++
.../metadata/MetadataContextHolder.java | 3 +-
spring-cloud-tencent-dependencies/pom.xml | 1 -
14 files changed, 19 insertions(+), 59 deletions(-)
delete mode 100644 spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/MetadataWrap.java
diff --git a/spring-cloud-starter-tencent-metadata-transfer/pom.xml b/spring-cloud-starter-tencent-metadata-transfer/pom.xml
index 7cfc26733..86185cfe6 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/pom.xml
+++ b/spring-cloud-starter-tencent-metadata-transfer/pom.xml
@@ -61,8 +61,8 @@
com.alibaba
transmittable-thread-local
+ true
-
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/MetadataWrap.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/MetadataWrap.java
deleted file mode 100644
index 46c8203c3..000000000
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/MetadataWrap.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Tencent is pleased to support the open source community by making Spring Cloud Tencent available.
- *
- * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
- *
- * Licensed under the BSD 3-Clause License (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * https://opensource.org/licenses/BSD-3-Clause
- *
- * Unless required by applicable law or agreed to in writing, software distributed
- * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
- * CONDITIONS OF ANY KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations under the License.
- *
- */
-
-package com.tencent.cloud.metadata.concurrent;
-
-/**
- * Metadata Wrapper interface.
- *
- * Used to mark wrapper types, for example:
- *
- * @author wlx
- */
-public interface MetadataWrap {
-
- /**
- * unwrap to the original/underneath one.
- *
- * @return a unWrap instance
- */
- T unWrap();
-
-}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutor.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutor.java
index 58f6667d0..b7dbbd04a 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutor.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutor.java
@@ -21,10 +21,10 @@ package com.tencent.cloud.metadata.concurrent.executor;
import java.util.Objects;
import java.util.concurrent.Executor;
+import com.alibaba.ttl.spi.TtlWrapper;
import com.alibaba.ttl.threadpool.TtlExecutors;
import com.alibaba.ttl.threadpool.agent.TtlAgent;
import com.tencent.cloud.common.metadata.MetadataContext;
-import com.tencent.cloud.metadata.concurrent.MetadataWrap;
import org.springframework.lang.NonNull;
@@ -35,7 +35,7 @@ import org.springframework.lang.NonNull;
*
* @author wlx
*/
-class MetadataExecutor implements Executor, MetadataWrap {
+class MetadataExecutor implements Executor, TtlWrapper {
private final Executor delegate;
@@ -71,8 +71,7 @@ class MetadataExecutor implements Executor, MetadataWrap {
}
@Override
- public Executor unWrap() {
+ public Executor unwrap() {
return TtlExecutors.unwrap(delegate);
}
-
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorService.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorService.java
index 983826813..4ef6944d7 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorService.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorService.java
@@ -123,7 +123,7 @@ class MetadataExecutorService extends MetadataExecutor implements ExecutorServic
}
@Override
- public ExecutorService unWrap() {
+ public ExecutorService unwrap() {
return TtlExecutors.unwrap(delegate);
}
@@ -143,5 +143,4 @@ class MetadataExecutorService extends MetadataExecutor implements ExecutorServic
public int hashCode() {
return Objects.hash(delegate);
}
-
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutors.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutors.java
index 030c2cf9e..3f9155ff1 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutors.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutors.java
@@ -22,7 +22,7 @@ import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ScheduledExecutorService;
-import com.tencent.cloud.metadata.concurrent.MetadataWrap;
+import com.alibaba.ttl.spi.TtlWrapper;
import org.springframework.lang.Nullable;
@@ -85,7 +85,7 @@ public final class MetadataExecutors {
if (!isMetadataWrap(executor)) {
return executor;
}
- return (T) ((MetadataExecutor) executor).unWrap();
+ return (T) ((MetadataExecutor) executor).unwrap();
}
/**
@@ -100,10 +100,9 @@ public final class MetadataExecutors {
* @return if the parameter executor is MetadataExecutor wrapper
*/
public static boolean isMetadataWrap(@Nullable T executor) {
- return executor instanceof MetadataWrap;
+ return executor instanceof TtlWrapper;
}
private MetadataExecutors() {
}
-
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataScheduledExecutorService.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataScheduledExecutorService.java
index e49adbc64..e012e90c7 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataScheduledExecutorService.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/concurrent/executor/MetadataScheduledExecutorService.java
@@ -77,7 +77,7 @@ class MetadataScheduledExecutorService extends MetadataExecutorService
}
@Override
- public ScheduledExecutorService unWrap() {
+ public ScheduledExecutorService unwrap() {
return TtlExecutors.unwrap(delegate);
}
@@ -97,5 +97,4 @@ class MetadataScheduledExecutorService extends MetadataExecutorService
public int hashCode() {
return Objects.hash(delegate);
}
-
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/MetadataTestUtil.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/MetadataTestUtil.java
index bc23f174c..eff9b671c 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/MetadataTestUtil.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/MetadataTestUtil.java
@@ -46,6 +46,5 @@ public final class MetadataTestUtil {
customMetadata = MetadataContextHolder.get().getFragmentContext(MetadataContext.FRAGMENT_TRANSITIVE);
Assertions.assertThat(customMetadata.get("a")).isEqualTo("1");
Assertions.assertThat(customMetadata.get("b")).isEqualTo("2");
-
}
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorServiceTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorServiceTest.java
index 1c21c36de..88a9723ed 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorServiceTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorServiceTest.java
@@ -124,5 +124,4 @@ public class MetadataExecutorServiceTest {
@SpringBootApplication
protected static class TestApplication {
}
-
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorTest.java
index 068d04875..cb30aa505 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorTest.java
@@ -74,7 +74,7 @@ public class MetadataExecutorTest {
metadataExecutor.execute(() -> {
Map fragmentContext =
MetadataContextHolder.get().getFragmentContext(MetadataContext.FRAGMENT_TRANSITIVE);
- Assertions.assertThat(fragmentContextAfterInit.equals(fragmentContext));
+ Assertions.assertThat(fragmentContextAfterInit.equals(fragmentContext)).isTrue();
});
// wait 200ms for metadataExecutor execute task
@@ -84,7 +84,7 @@ public class MetadataExecutorTest {
@Test
public void metadataExecutorUnWrap() {
MetadataExecutor metadataExecutor = new MetadataExecutor(executorService);
- Executor executor = metadataExecutor.unWrap();
+ Executor executor = metadataExecutor.unwrap();
Assertions.assertThat(executor).isEqualTo(executorService);
}
@@ -129,5 +129,4 @@ public class MetadataExecutorTest {
@SpringBootApplication
protected static class TestApplication {
}
-
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorsTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorsTest.java
index 3ec40c81f..07604640c 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorsTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataExecutorsTest.java
@@ -60,5 +60,4 @@ public class MetadataExecutorsTest {
MetadataExecutors.getMetadataScheduledExecutorService(scheduledExecutorService));
Assertions.assertThat(unwrap).isEqualTo(scheduledExecutorService);
}
-
}
diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataScheduledExecutorServiceTest.java b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataScheduledExecutorServiceTest.java
index a281d225c..631d0ab6f 100644
--- a/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataScheduledExecutorServiceTest.java
+++ b/spring-cloud-starter-tencent-metadata-transfer/src/test/java/com/tencent/cloud/metadata/concurrent/executor/MetadataScheduledExecutorServiceTest.java
@@ -85,5 +85,4 @@ public class MetadataScheduledExecutorServiceTest {
@SpringBootApplication
protected static class TestApplication {
}
-
}
diff --git a/spring-cloud-tencent-commons/pom.xml b/spring-cloud-tencent-commons/pom.xml
index 495fc4a15..3d9dcee20 100644
--- a/spring-cloud-tencent-commons/pom.xml
+++ b/spring-cloud-tencent-commons/pom.xml
@@ -105,6 +105,12 @@
spring-boot-actuator-autoconfigure
true
+
+
+ com.alibaba
+ transmittable-thread-local
+ true
+
diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java
index e92c526b3..62a567064 100644
--- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java
+++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java
@@ -22,6 +22,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import com.alibaba.ttl.TransmittableThreadLocal;
import com.tencent.cloud.common.metadata.config.MetadataLocalProperties;
import com.tencent.cloud.common.util.ApplicationContextAwareUtils;
@@ -34,7 +35,7 @@ import org.springframework.util.CollectionUtils;
*/
public final class MetadataContextHolder {
- private static final ThreadLocal METADATA_CONTEXT = new InheritableThreadLocal<>();
+ private static final ThreadLocal METADATA_CONTEXT = new TransmittableThreadLocal<>();
private static MetadataLocalProperties metadataLocalProperties;
private static StaticMetadataManager staticMetadataManager;
diff --git a/spring-cloud-tencent-dependencies/pom.xml b/spring-cloud-tencent-dependencies/pom.xml
index a0abe8b36..3816ab265 100644
--- a/spring-cloud-tencent-dependencies/pom.xml
+++ b/spring-cloud-tencent-dependencies/pom.xml
@@ -241,7 +241,6 @@
transmittable-thread-local
${transmittable-thread-local.version}
-