1.diamond-server工程里 使用了我们常用的一些技术 比如spring springmvc jsbctamplate 等等这些技术
jar包如下
2.首先我们先从启动tomcat的时候 加载bean的时候 会有三个bean进行初始化数据的bean开始分析
2.1加载diamond-server其他实例的ip地址和端口号
com.taobao.diamond.server.service.NotifyService
@PostConstruct
public void loadNodes() {
InputStream in = null;
try {
in = ResourceUtils.getResourceAsStream("node.properties");
nodeProperties.load(in);
}
catch (IOException e) {
log.error("加载节点配置文件失败");
}
finally {
try {
if (in != null)
in.close();
}
catch (IOException e) {
log.error("关闭node.properties失败", e);
}
}
log.info("节点列表:" + nodeProperties);
}
node配置文件里面的内容(在本地部署两个tomcat实例)
A=http://10.144.35.250:8080/diamond-server/notify.do
B=http://10.144.35.250:9090/diamond-server1/notify.do
2.2加载数据库信息,创建BasicDataSource,JdbcTemplate对象
com.taobao.diamond.server.service.PersistService
@PostConstruct
public void initDataSource() throws Exception {
// 读取jdbc.properties配置, 加载数据源
Properties props = ResourceUtils.getResourceAsProperties("jdbc.properties");
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(JDBC_DRIVER_NAME);
ds.setUrl(ensurePropValueNotNull(props.getProperty("db.url")));
ds.setUsername(ensurePropValueNotNull(props.getProperty("db.user")));
ds.setPassword(ensurePropValueNotNull(props.getProperty("db.password")));