use of com.creditease.uav.invokechain.collect.InvokeChainDataCollectHandler in project uavstack by uavorg.
the class InvokeChainProcessServer method start.
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void start() {
// init cache manager
String cacheServerAddress = this.getConfigManager().getFeatureConfiguration(this.feature, "store.addr");
int minConcurrent = DataConvertHelper.toInt(this.getConfigManager().getFeatureConfiguration(this.feature, "store.concurrent.min"), 10);
int maxConcurrent = DataConvertHelper.toInt(this.getConfigManager().getFeatureConfiguration(this.feature, "store.concurrent.max"), 50);
int queueSize = DataConvertHelper.toInt(this.getConfigManager().getFeatureConfiguration(this.feature, "store.concurrent.bqsize"), 5);
String password = this.getConfigManager().getFeatureConfiguration(this.feature, "store.concurrent.pwd");
CacheManager cm = CacheManagerFactory.build(cacheServerAddress, minConcurrent, maxConcurrent, queueSize, password);
this.getConfigManager().registerComponent(this.feature, "IVCCacheManager", cm);
// init ES Client
String esAddrStr = this.getConfigManager().getFeatureConfiguration(this.feature, "es.addr");
String clusterName = this.getConfigManager().getFeatureConfiguration(this.feature, "es.clustername");
ESClient client = new ESClient(esAddrStr, clusterName);
this.getConfigManager().registerComponent(this.feature, "ESClient", client);
// register invokechain index mgr
new InvokeChainIndexMgr("InvokeChainIndexMgr", feature);
// register slowoper index mgr
new SlowOperIndexMgr("SlowOperIndexMgr", feature);
// register invokechain collect handler
new InvokeChainDataCollectHandler("JQ_IVC_CollectHandler", feature);
// 注册重调用链action engine
this.getActionEngineMgr().newActionEngine("SlowOperActionEngine", feature);
// register slowoper collect handler
new SlowOperDataCollectHandler("JQ_SLW_CollectHandler", feature);
// run InvokeChainQueryServerWorker
boolean isStartQueryServer = DataConvertHelper.toBoolean(this.getConfigManager().getFeatureConfiguration(this.feature, "http.enable"), true);
if (isStartQueryServer == true) {
int port = DataConvertHelper.toInt(this.getConfigManager().getFeatureConfiguration(this.feature, "http.port"), 7799);
int backlog = DataConvertHelper.toInt(this.getConfigManager().getFeatureConfiguration(this.feature, "http.backlog"), 10);
int core = DataConvertHelper.toInt(this.getConfigManager().getFeatureConfiguration(this.feature, "http.core"), 10);
int max = DataConvertHelper.toInt(this.getConfigManager().getFeatureConfiguration(this.feature, "http.max"), 100);
int bqsize = DataConvertHelper.toInt(this.getConfigManager().getFeatureConfiguration(this.feature, "http.bqsize"), 10);
ivcQueryServerWorker = new InvokeChainQueryServerWorker("InvokeChainQueryServerWorker", feature, "qhandlers");
ThreadPoolExecutor executor = new ThreadPoolExecutor(core, max, 30, TimeUnit.SECONDS, new ArrayBlockingQueue(bqsize));
ivcQueryServerWorker.start(executor, port, backlog);
if (log.isTraceEnable()) {
log.info(this, "InvokeChainQueryServerWorker started");
}
}
}
Aggregations