From 0935d78f10f6d6458f99b8af6dac91939be706b5 Mon Sep 17 00:00:00 2001 From: wusheng Date: Tue, 17 Nov 2015 15:24:01 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E8=B0=83=E7=94=A8=E9=93=BE?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/cloud/skywalking/reciever/storage/Chain.java | 9 ++++++--- .../reciever/storage/StorageChainController.java | 10 +++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/Chain.java b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/Chain.java index fc022a63d..d26f64d78 100644 --- a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/Chain.java +++ b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/Chain.java @@ -1,22 +1,25 @@ package com.ai.cloud.skywalking.reciever.storage; -import java.util.ArrayList; import java.util.List; import com.ai.cloud.skywalking.reciever.model.BuriedPointEntry; public class Chain { - private List chains = new ArrayList(); + private List chains; private int index = 0; + public Chain(List chains){ + this.chains = chains; + } + public void doChain(BuriedPointEntry entry, String entryOriginData ){ if(index < chains.size()){ chains.get(index++).doChain(entry, entryOriginData, this);; } } - synchronized void addChain(IStorageChain chain){ + void addChain(IStorageChain chain){ chains.add(chain); } } diff --git a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/StorageChainController.java b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/StorageChainController.java index d559eafd1..7a13367b3 100644 --- a/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/StorageChainController.java +++ b/skywalking-server/src/main/java/com/ai/cloud/skywalking/reciever/storage/StorageChainController.java @@ -1,5 +1,8 @@ package com.ai.cloud.skywalking.reciever.storage; +import java.util.ArrayList; +import java.util.List; + import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -10,10 +13,10 @@ public class StorageChainController { private static Logger logger = LogManager .getLogger(StorageChainController.class); - private static Chain globalChain = new Chain(); + private static List chainArray = new ArrayList(); static{ - globalChain.addChain(new SaveToHBaseChain()); + chainArray.add(new SaveToHBaseChain()); } public static void doStorage(String buriedPointDatas) { @@ -27,7 +30,8 @@ public class StorageChainController { continue; } BuriedPointEntry entry = BuriedPointEntry.convert(buriedPoint); - globalChain.doChain(entry, buriedPoint); + Chain chain = new Chain(chainArray); + chain.doChain(entry, buriedPoint); } catch (Throwable e) { logger.error("ready to save buriedPoint error, choose to ignore. data=" + buriedPoint, e);