From 6737f80d43ec0d3f995c212d4294c62059af0dfd Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Mon, 12 Jan 2026 11:32:47 +0800 Subject: [PATCH] refactor: optimize performance. Signed-off-by: Haotian Zhang <928016560@qq.com> --- .../metadata/core/TransHeadersTransfer.java | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java index 8b5899400..d499f73ca 100644 --- a/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java +++ b/spring-cloud-starter-tencent-metadata-transfer/src/main/java/com/tencent/cloud/metadata/core/TransHeadersTransfer.java @@ -53,15 +53,17 @@ public final class TransHeadersTransfer { Map transHeaderMetadata = MetadataContextHolder.get().getTransHeaders(); if (!CollectionUtils.isEmpty(transHeaderMetadata)) { String transHeaders = transHeaderMetadata.keySet().iterator().next(); - String[] transHeaderArray = transHeaders.split(","); - Enumeration httpHeaders = httpServletRequest.getHeaderNames(); - while (httpHeaders.hasMoreElements()) { - String httpHeader = httpHeaders.nextElement(); - for (String transHeader : transHeaderArray) { - if (transHeader.equals(httpHeader)) { - String httpHeaderValue = httpServletRequest.getHeader(httpHeader); - // for example, {"trans-headers-kv" : {"header1":"v1","header2":"v2"...}} - MetadataContextHolder.get().setTransHeadersKV(httpHeader, httpHeaderValue); + if (transHeaders != null) { + String[] transHeaderArray = transHeaders.split(","); + Enumeration httpHeaders = httpServletRequest.getHeaderNames(); + while (httpHeaders.hasMoreElements()) { + String httpHeader = httpHeaders.nextElement(); + for (String transHeader : transHeaderArray) { + if (transHeader.equals(httpHeader)) { + String httpHeaderValue = httpServletRequest.getHeader(httpHeader); + // for example, {"trans-headers-kv" : {"header1":"v1","header2":"v2"...}} + MetadataContextHolder.get().setTransHeadersKV(httpHeader, httpHeaderValue); + } } } } @@ -79,16 +81,18 @@ public final class TransHeadersTransfer { Map transHeaderMetadata = MetadataContextHolder.get().getTransHeaders(); if (!CollectionUtils.isEmpty(transHeaderMetadata)) { String transHeaders = transHeaderMetadata.keySet().iterator().next(); - String[] transHeaderArray = transHeaders.split(","); - HttpHeaders headers = serverHttpRequest.getHeaders(); - Set headerKeys = headers.keySet(); - for (String httpHeader : headerKeys) { - for (String transHeader : transHeaderArray) { - if (transHeader.equals(httpHeader)) { - List list = headers.get(httpHeader); - String httpHeaderValue = JacksonUtils.serialize2Json(list); - // for example, {"trans-headers-kv" : {"header1":"v1","header2":"v2"...}} - MetadataContextHolder.get().setTransHeadersKV(httpHeader, httpHeaderValue); + if (transHeaders != null) { + String[] transHeaderArray = transHeaders.split(","); + HttpHeaders headers = serverHttpRequest.getHeaders(); + Set headerKeys = headers.keySet(); + for (String httpHeader : headerKeys) { + for (String transHeader : transHeaderArray) { + if (transHeader.equals(httpHeader)) { + List list = headers.get(httpHeader); + String httpHeaderValue = JacksonUtils.serialize2Json(list); + // for example, {"trans-headers-kv" : {"header1":"v1","header2":"v2"...}} + MetadataContextHolder.get().setTransHeadersKV(httpHeader, httpHeaderValue); + } } } }