参考资料:
diamond专题(一)-- 简介和快速使用 http://jm-blog.aliapp.com/?p=1588
diamond专题(二)-- 核心原理介绍 http://jm-blog.aliapp.com/?p=1592
diamond专题(三)—— diamond架构 http://jm-blog.aliapp.com/?p=1606
diamond专题(四)—— 容灾机制 http://jm-blog.aliapp.com/?p=1617
源码检出
从以下svn地址检出diamond的源代码:
http://code.taobao.org/svn/diamond/trunk
这里下载下来的源码包会有部分问题,稍后会给出我修改之后的源码地址
diamond-server的搭建
首先创建数据库
create database diamond_test; use diamond_test; create table config_info ( `id` bigint(64) unsigned NOT NULL auto_increment, `data_id` varchar(255) NOT NULL default ' ', `group_id` varchar(128) NOT NULL default ' ', `content` longtext NOT NULL, `md5` varchar(32) NOT NULL default ' ', `gmt_create` datetime NOT NULL default '2010-05-05 00:00:00', `gmt_modified` datetime NOT NULL default '2010-05-05 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `uk_config_datagroup` (`data_id`,`group_id`) );
完成后,请将数据库的配置信息(IP,用户名,密码)添加到diamond-server工程的src/resources/jdbc.properties文件中的db.url,db.user,db.password属性上面,这里建立的库名,用户名和密码,必须和jdbc.properties中对应的属性相同。
如:
db.url=jdbc:mysql://10.126.53.19:3306/diamond_test?characterEncoding=utf8&connectTimeout=1000&autoReconnect=true
db.user=root
db.password=root
diamond-server的运行
使用tomcat部署,tomcat默认端口为8080
启动tomcat
访问地址:http://localhost:8080/diamond-server/
账户和密码:abc/123
diamond-server存在的问题
1上传配置文件报错
报错如下:The request sent by the client was syntactically incorrect ()
http://www.cnblogs.com/xiandedanteng/p/4168609.html
这个错误是SpringMVC报出来的,见到它意味着html/jsp页面的控件名称 和 controller里函数的参数不符。
这里其实不是参数不符,是springMVC没有配置multipartResolver
修改文件/diamond-server/src/main/webapp/WEB-INF/diamond-servlet.xml
<!-- 文件上传表单的视图解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="2048000"></property> </bean>
修改文件/diamond-server/pom.xml
添加依赖
<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3</version> </dependency>
2 用户信息存储在配置文件,tomcat重新打包部署之后会消失,可以考虑改成数据库存储。同理服务端数据会存储到磁盘下,重新打包部署之后,也会丢失,不过这个地方到无所谓,因为你添加或者修改记录的时候,会重新写入到磁盘。