标签:
diamond 安装
1:创建diamond使用的表
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`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;
2.修改diamond-server jdbc.properties 数据库地址,部署 diamond-server
3.发布数据
diamond发布数据通过手工的方式进行。
在浏览器中输入http://ip:8080/diamond-server/,ip为server搭建的第(2)步中的地址,以abc为用户名,123为密码,登录后进入后台管理界面,然后点击“配置信息管理”—— “添加配置信息”,在输入框中输入dataId、group、内容,最后点击“提交”即可。
成功后,可以在“配置信息管理”中查询到发布的数据。
4.订阅数据
diamond客户端API主要提供了订阅数据的功能.
(1)客户端获取服务端地址
获取服务端地址对客户端是透明的,客户端仅仅需要在本地进行如下域名绑定即可:
ip a.b.c
ip为前面搭建的http-server的ip
(2)创建订阅者
DiamondManager manager = new DefaultDiamondManager(group, dataId, new ManagerListener() {
public Executor getExecutor() {
return null;
}
public void receiveConfigInfo(String configInfo) {
// 客户端处理数据的逻辑
}
});
参数的说明:
group和dataId为String类型,二者结合为diamond-server端保存数据的惟一key
ManagerListener 是客户端注册的数据监听器, 它的作用是在运行中接受变化的配置数据,然后回调receiveConfigInfo()方法,执行客户端处理数据的逻辑。如果要在运行中对变化的配置数据进行处理,就一定要注册ManagerListener
(3)获取配置数据
String configInfo = manager.getAvailableConfigureInfomation(timeout);
diamond-server端保存的配置全都为文本类型,返回给客户端的配置数据为java.lang.String类型,timeout为从网络获取配置数据的超时时间。客户端调用每次调用该方法,都能够保证获取一份最新的可用的配置数据。
标签:
原文地址:http://my.oschina.net/u/569297/blog/420015