提交 035381f3 编写于 作者: Y yong.you

modify the cat refresh thread

上级 89587b4a
......@@ -16,7 +16,6 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationExce
import org.unidal.dal.jdbc.DalException;
import org.unidal.dal.jdbc.DalNotFoundException;
import org.unidal.helper.Files;
import org.unidal.helper.Threads.Task;
import org.unidal.lookup.annotation.Inject;
import org.xml.sax.SAXException;
......@@ -149,7 +148,7 @@ public class MetricConfigManager implements Initializable, LogEnabled {
return configs;
}
private void refreshMetricConfig() throws DalException, SAXException, IOException {
public void refreshMetricConfig() throws DalException, SAXException, IOException {
Config config = m_configDao.findByName(CONFIG_NAME, ConfigEntity.READSET_FULL);
long modifyTime = config.getModifyDate().getTime();
......@@ -181,33 +180,4 @@ public class MetricConfigManager implements Initializable, LogEnabled {
return true;
}
public class Reload implements Task {
@Override
public String getName() {
return "Metric-Config-Reload";
}
@Override
public void run() {
boolean active = true;
while (active) {
try {
refreshMetricConfig();
} catch (Exception e) {
Cat.logError(e);
}
try {
Thread.sleep(60 * 1000L);
} catch (InterruptedException e) {
active = false;
}
}
}
@Override
public void shutdown() {
}
}
}
......@@ -18,7 +18,6 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationExce
import org.unidal.dal.jdbc.DalException;
import org.unidal.dal.jdbc.DalNotFoundException;
import org.unidal.helper.Files;
import org.unidal.helper.Threads.Task;
import org.unidal.lookup.annotation.Inject;
import org.xml.sax.SAXException;
......@@ -181,7 +180,7 @@ public class ProductLineConfigManager implements Initializable, LogEnabled {
return result;
}
private void refreshProductLineConfig() throws DalException, SAXException, IOException {
public void refreshProductLineConfig() throws DalException, SAXException, IOException {
Config config = m_configDao.findByName(CONFIG_NAME, ConfigEntity.READSET_FULL);
long modifyTime = config.getModifyDate().getTime();
......@@ -197,34 +196,4 @@ public class ProductLineConfigManager implements Initializable, LogEnabled {
}
}
public class Reload implements Task {
@Override
public String getName() {
return "Product-Config-Reload";
}
@Override
public void run() {
boolean active = true;
while (active) {
try {
refreshProductLineConfig();
} catch (Exception e) {
Cat.logError(e);
}
try {
Thread.sleep(60 * 1000L);
} catch (InterruptedException e) {
active = false;
}
}
}
@Override
public void shutdown() {
}
}
}
......@@ -13,6 +13,7 @@ import org.unidal.lookup.configuration.Component;
import com.dianping.cat.CatHomeModule;
import com.dianping.cat.configuration.ServerConfigManager;
import com.dianping.cat.consumer.RealtimeConsumer;
import com.dianping.cat.consumer.advanced.MetricConfigManager;
import com.dianping.cat.consumer.core.ProductLineConfigManager;
import com.dianping.cat.consumer.core.config.ConfigDao;
import com.dianping.cat.consumer.core.dal.ProjectDao;
......@@ -36,6 +37,7 @@ import com.dianping.cat.report.page.model.spi.ModelService;
import com.dianping.cat.report.page.state.StateGraphs;
import com.dianping.cat.report.service.ReportService;
import com.dianping.cat.report.view.DomainNavManager;
import com.dianping.cat.system.config.ConfigReloadTask;
public class ComponentsConfigurator extends AbstractResourceConfigurator {
public static void main(String[] args) {
......@@ -78,6 +80,8 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
.req(ProductLineConfigManager.class, TopologyGraphDao.class, DomainNavManager.class)//
.req(ModelService.class, "dependency"));
all.add(C(ConfigReloadTask.class).req(MetricConfigManager.class, ProductLineConfigManager.class));
// report serivce
all.addAll(new ReportServiceComponentConfigurator().defineComponents());
// task
......
package com.dianping.cat.system.config;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import org.unidal.helper.Threads;
import org.unidal.helper.Threads.Task;
import org.unidal.lookup.annotation.Inject;
import com.dianping.cat.Cat;
import com.dianping.cat.consumer.advanced.MetricConfigManager;
import com.dianping.cat.consumer.core.ProductLineConfigManager;
public class ConfigReloadTask implements Initializable {
@Inject
private ProductLineConfigManager m_productLineConfigManager;
@Inject
private MetricConfigManager m_metricConfigManager;
@Override
public void initialize() throws InitializationException {
Threads.forGroup("Cat").start(new Reload());
}
public class Reload implements Task {
@Override
public String getName() {
return "Config-Reload";
}
@Override
public void run() {
boolean active = true;
while (active) {
try {
m_productLineConfigManager.refreshProductLineConfig();
m_metricConfigManager.refreshMetricConfig();
} catch (Exception e) {
Cat.logError(e);
}
try {
Thread.sleep(60 * 1000L);
} catch (InterruptedException e) {
active = false;
}
}
}
@Override
public void shutdown() {
}
}
}
......@@ -142,6 +142,18 @@
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.system.config.ConfigReloadTask</role>
<implementation>com.dianping.cat.system.config.ConfigReloadTask</implementation>
<requirements>
<requirement>
<role>com.dianping.cat.consumer.advanced.MetricConfigManager</role>
</requirement>
<requirement>
<role>com.dianping.cat.consumer.core.ProductLineConfigManager</role>
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.report.service.HourlyReportService</role>
<implementation>com.dianping.cat.report.service.impl.HourlyReportServiceImpl</implementation>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册