From 77f3e2f4a95e167aca6241e7828c9feb13d5425c Mon Sep 17 00:00:00 2001 From: ascrutae Date: Wed, 27 Jan 2016 17:28:24 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E5=A4=8D=E5=9C=A8Dubbo=E8=B6=85?= =?UTF-8?q?=E6=97=B6=E9=87=8D=E8=AF=95=E7=9A=84=E6=97=B6=E5=80=99=E4=BC=9A?= =?UTF-8?q?=E9=80=A0=E6=88=90=E6=95=B0=E6=8D=AE=E5=87=BA=E9=94=99=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/dubbo/SWDubboEnhanceFilter.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/ai/cloud/skywalking/plugin/dubbo/SWDubboEnhanceFilter.java b/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/ai/cloud/skywalking/plugin/dubbo/SWDubboEnhanceFilter.java index f92037fb1..17ce708ff 100644 --- a/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/ai/cloud/skywalking/plugin/dubbo/SWDubboEnhanceFilter.java +++ b/skywalking-sdk-plugin/dubbo-plugin/src/main/java/com/ai/cloud/skywalking/plugin/dubbo/SWDubboEnhanceFilter.java @@ -30,7 +30,18 @@ public class SWDubboEnhanceFilter implements Filter { //追加参数 if (!BugFixAcitve.isActive) { - context.setAttachment("contextData", contextDataStr); + // context.setAttachment("contextData", contextDataStr); + // context的setAttachment方法在重试机制的时候并不会覆盖原有的Attachment + // 参见Dubbo源代码:“com.alibaba.dubbo.rpc.RpcInvocation” + // public void setAttachmentIfAbsent(String key, String value) { + // if (attachments == null) { + // attachments = new HashMap(); + // } + // if (! attachments.containsKey(key)) { + // attachments.put(key, value); + // } + // } + invocation.getAttachments().put("contextData", contextDataStr); } else { fix283SendNoAttachmentIssue(invocation, contextDataStr); }