优化dubbo filter

This commit is contained in:
六如
2025-03-13 00:02:39 +08:00
parent c7c7e4cf98
commit be2af14104
5 changed files with 37 additions and 11 deletions

View File

@@ -15,11 +15,6 @@
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
<version>2.14.5</version>
</dependency>
<dependency> <dependency>
<groupId>org.apache.dubbo</groupId> <groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId> <artifactId>dubbo</artifactId>

View File

@@ -1,7 +1,5 @@
package com.gitee.sop.support.context; package com.gitee.sop.support.context;
import com.alibaba.ttl.TransmittableThreadLocal;
import java.util.Locale; import java.util.Locale;
/** /**
@@ -9,7 +7,7 @@ import java.util.Locale;
*/ */
public abstract class OpenContext { public abstract class OpenContext {
private static final ThreadLocal<OpenContext> THREAD_LOCAL = new TransmittableThreadLocal<>(); private static final ThreadLocal<OpenContext> THREAD_LOCAL = new InheritableThreadLocal<>();
/** /**
* 获取appId * 获取appId

View File

@@ -1,7 +1,5 @@
package com.gitee.sop.support.context; package com.gitee.sop.support.context;
import com.alibaba.ttl.TransmittableThreadLocal;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
@@ -11,7 +9,7 @@ import java.util.Map;
*/ */
public abstract class WebContext { public abstract class WebContext {
private static final ThreadLocal<WebContext> THREAD_LOCAL = new TransmittableThreadLocal<>(); private static final ThreadLocal<WebContext> THREAD_LOCAL = new InheritableThreadLocal<>();
public abstract String getMethod(); public abstract String getMethod();

View File

@@ -0,0 +1,34 @@
package com.gitee.sop.support.dubbo;
import com.gitee.sop.support.constant.SopConstants;
import org.apache.dubbo.rpc.Invocation;
import org.apache.dubbo.rpc.PenetrateAttachmentSelector;
import org.apache.dubbo.rpc.RpcContextAttachment;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
/**
* @author 六如
*/
public class SopPenetrateAttachmentSelector implements PenetrateAttachmentSelector {
@Override
public Map<String, Object> select(Invocation invocation, RpcContextAttachment clientAttachment, RpcContextAttachment serverAttachment) {
Map<String, Object> map = new HashMap<>(4);
Object openContext = serverAttachment.getObjectAttachment(SopConstants.OPEN_CONTEXT);
if (openContext != null) {
map.put(SopConstants.OPEN_CONTEXT, openContext);
}
Object webContext = serverAttachment.getObjectAttachment(SopConstants.WEB_CONTEXT);
if (webContext != null) {
map.put(SopConstants.WEB_CONTEXT, webContext);
}
return map;
}
@Override
public Map<String, Object> selectReverse(Invocation invocation, RpcContextAttachment clientResponseContext, RpcContextAttachment serverResponseContext) {
return Collections.emptyMap();
}
}

View File

@@ -0,0 +1 @@
sopPenetrateAttachmentSelector=com.gitee.sop.support.dubbo.SopPenetrateAttachmentSelector