mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 12:56:28 +08:00
优化dubbo filter
This commit is contained in:
@@ -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>
|
||||||
|
@@ -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
|
||||||
|
@@ -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();
|
||||||
|
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1 @@
|
|||||||
|
sopPenetrateAttachmentSelector=com.gitee.sop.support.dubbo.SopPenetrateAttachmentSelector
|
Reference in New Issue
Block a user