zookeeper,spring整合
来源:互联网 发布:淘宝 多隆是谁 编辑:程序博客网 时间:2024/05/22 07:41
spring-content.xml配置文件
<bean id="zookeeperClient" class="ZookeeperClient">
<constructor-arg index="0" value="10.139.8.40:2181" /><property name="mainPath" value="/camsso" />
</bean>
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="zooKeeperPropertyPlaceholderConfigurer" class="ZooKeeperPropertyPlaceholderConfigurer">
<property name="configurationClient" ref="zookeeperClient"></property>
<property name="order" value="1" />
<property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
读properties
import java.util.Properties;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
public class CustomizedPropertyPlaceholderConfigurer extends
PropertyPlaceholderConfigurer {
private static Properties staticProperties;
@Override
protected void processProperties(
final ConfigurableListableBeanFactory beanFactory,
final Properties props) throws BeansException {
super.processProperties(beanFactory, props);
staticProperties = props;
}
// static method for accessing context properties
public String getContextProperty(final String key) {
return staticProperties.getProperty("referer."+key);
}
}
zookeeper读配置文件
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Properties;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
public class ZooKeeperPropertyPlaceholderConfigurer extends CustomizedPropertyPlaceholderConfigurer{
private static final Logger LOGGER = LoggerFactory
.getLogger(ZooKeeperPropertyPlaceholderConfigurer.class);
private ZookeeperClient configurationClient;
public void setConfigurationClient(final ZookeeperClient configurationClient) {
this.configurationClient = configurationClient;
}
@Override
protected void processProperties(
final ConfigurableListableBeanFactory beanFactoryToProcess,
final Properties props) {
final List<String> list = configurationClient.getChildren();
try {
for (final String key : list) {
final String value = configurationClient
.getData(configurationClient.getMainPath() + "/" + key);
if (!StringUtils.isBlank(value)) {
props.put(key, value);
}
}
} catch (final UnsupportedEncodingException e) {
LOGGER.error("processPropertiesException", e);
} finally {
configurationClient.close();
}
super.processProperties(beanFactoryToProcess, props);
}
}
zookeeper客户端
import java.io.UnsupportedEncodingException;
import java.util.List;
import org.I0Itec.zkclient.ZkClient;
import org.I0Itec.zkclient.serialize.BytesPushThroughSerializer;
public class ZookeeperClient {
private ZkClient zkc;
private String mainPath;
public ZookeeperClient(final String servers) {
zkc = new ZkClient(servers);
zkc.setZkSerializer(new BytesPushThroughSerializer());
}
public ZkClient getZkClient() {
return zkc;
}
public String getData(final String path) throws UnsupportedEncodingException {
String result = null;
final byte[] data = getZkClient().readData(path);
if (null != data) {
result = new String(data, "UTF-8");
}
return result;
}
public List<String> getChildren() {
List<String> data = null;
data = getZkClient().getChildren(mainPath);
return data;
}
public void close() {
getZkClient().close();
if (null != zkc) {
zkc = null;
}
}
public String getMainPath() {
return mainPath;
}
public void setMainPath(final String mainPath) {
this.mainPath = mainPath;
}
}
- spring+dubbo+zookeeper整合
- zookeeper,spring整合
- Zookeeper+Dubbo+Spring整合
- zookeeper,dubbo,spring整合
- spring 、zookeeper(dubbo)整合
- spring 、zookeeper(dubbo)整合
- dubbo、zookeeper、Spring整合实例
- spring 、zookeeper(dubbo)整合
- dubbo+zookeeper+spring整合demo
- Dubbo与Zookeeper、Spring整合
- Dubbo与Zookeeper、Spring整合和使用
- Dubbo与Zookeeper、Spring整合使用.
- Dubbo与Zookeeper、Spring整合使用
- dubbo 入门,与zookeeper maven spring整合
- Dubbo与Zookeeper、Spring整合使用
- Dubbo整合Zookeeper和Spring示例程序
- Dubbo+Zookeeper+Spring MVC+JDK8整合应用
- Dubbo+Zookeeper+Spring整合应用篇
- 【java】String的基本操作
- 支付宝移动支付服务器端
- Android插件化开发之DexClassLoader动态加载dex、jar小Demo
- CSS 单位
- 移动开发 - Android - assets目录
- zookeeper,spring整合
- groovy学习笔记
- 环境搭建记录
- 第十二周训练——(2)写出求1*3*...*n的递归形式,并编写出递归函数求解
- Lightoj1083【单调栈】
- Flex 布局教程:语法篇
- PowerDesigner连接MySQL数据库
- 深入解析结构化异常处理(SEH)
- php和go语言哪个好?