1.修复调用链模式的BUG
This commit is contained in:
parent
9f6d7678b0
commit
0935d78f10
|
|
@ -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<IStorageChain> chains = new ArrayList<IStorageChain>();
|
||||
private List<IStorageChain> chains;
|
||||
|
||||
private int index = 0;
|
||||
|
||||
public Chain(List<IStorageChain> 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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<IStorageChain> chainArray = new ArrayList<IStorageChain>();
|
||||
|
||||
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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue