use of io.mycat.config.loader.zkprocess.parse.XmlProcessBase in project Mycat-Server by MyCATApache.
the class XmltoZkMain method main.
public static void main(String[] args) throws JAXBException, InterruptedException {
// 加载zk总服务
ZookeeperProcessListen zkListen = new ZookeeperProcessListen();
// 得到集群名称
String custerName = ZkConfig.getInstance().getValue(ZkParamCfg.ZK_CFG_CLUSTERID);
// 得到基本路径
String basePath = ZookeeperPath.ZK_SEPARATOR.getKey() + ZookeeperPath.FLOW_ZK_PATH_BASE.getKey();
basePath = basePath + ZookeeperPath.ZK_SEPARATOR.getKey() + custerName;
zkListen.setBasePath(basePath);
// 获得zk的连接信息
CuratorFramework zkConn = buildConnection(ZkConfig.getInstance().getValue(ZkParamCfg.ZK_CFG_URL));
// 获得公共的xml转换器对象
XmlProcessBase xmlProcess = new XmlProcessBase();
// 进行xmltozk的schema文件的操作
new SchemasxmlTozkLoader(zkListen, zkConn, xmlProcess);
// 进行xmltozk的server文件的操作
new ServerxmlTozkLoader(zkListen, zkConn, xmlProcess);
// 进行rule文件到zk的操作
new RulesxmlTozkLoader(zkListen, zkConn, xmlProcess);
// 进行序列信息入zk中
new SequenceTozkLoader(zkListen, zkConn, xmlProcess);
// 缓存配制信息
new EcachesxmlTozkLoader(zkListen, zkConn, xmlProcess);
// 将其他信息加载的zk中
new OthermsgTozkLoader(zkListen, zkConn, xmlProcess);
// 初始化xml转换操作
xmlProcess.initJaxbClass();
// 加载通知进程
zkListen.notifly(ZkNofiflyCfg.ZK_NOTIFLY_LOAD_ALL.getKey());
String clusterNodes = ZkConfig.getInstance().getValue(ZkParamCfg.ZK_CFG_CLUSTER_NODES);
String clusterSize = ZkConfig.getInstance().getValue(ZkParamCfg.ZK_CFG_CLUSTER_SIZE);
ClusterInfo info = new ClusterInfo();
info.setClusterNodes(clusterNodes);
info.setClusterSize(Integer.parseInt(clusterSize));
try {
zkConn.setData().forPath(basePath, JSON.toJSONBytes(info));
} catch (Exception e) {
LOGGER.error("error", e);
}
}
use of io.mycat.config.loader.zkprocess.parse.XmlProcessBase in project Mycat-Server by MyCATApache.
the class ZktoXmlMain method loadZktoFile.
/**
* 将zk数据放到到本地
* 方法描述
* @throws Exception
* @创建日期 2016年9月21日
*/
public static void loadZktoFile() throws Exception {
// 得到集群名称
String custerName = ZkConfig.getInstance().getValue(ZkParamCfg.ZK_CFG_CLUSTERID);
// 得到基本路径
String basePath = ZookeeperPath.ZK_SEPARATOR.getKey() + ZookeeperPath.FLOW_ZK_PATH_BASE.getKey();
basePath = basePath + ZookeeperPath.ZK_SEPARATOR.getKey() + custerName;
ZKLISTENER.setBasePath(basePath);
// 获得zk的连接信息
CuratorFramework zkConn = buildConnection(ZkConfig.getInstance().getValue(ZkParamCfg.ZK_CFG_URL));
// 获得公共的xml转换器对象
XmlProcessBase xmlProcess = new XmlProcessBase();
// 加载以接收者
new SchemaszkToxmlLoader(ZKLISTENER, zkConn, xmlProcess);
// server加载
new ServerzkToxmlLoader(ZKLISTENER, zkConn, xmlProcess);
// rule文件加载
// new RuleszkToxmlLoader(zkListen, zkConn, xmlProcess);
ZKUtils.addChildPathCache(ZKUtils.getZKBasePath() + "rules", new RuleFunctionCacheListener());
// 将序列配制信息加载
new SequenceTopropertiesLoader(ZKLISTENER, zkConn, xmlProcess);
// 进行ehcache转换
new EcacheszkToxmlLoader(ZKLISTENER, zkConn, xmlProcess);
// 将bindata目录的数据进行转换到本地文件
ZKUtils.addChildPathCache(ZKUtils.getZKBasePath() + "bindata", new BinDataPathChildrenCacheListener());
// ruledata
ZKUtils.addChildPathCache(ZKUtils.getZKBasePath() + "ruledata", new RuleDataPathChildrenCacheListener());
// 初始化xml转换操作
xmlProcess.initJaxbClass();
// 通知所有人
ZKLISTENER.notifly(ZkNofiflyCfg.ZK_NOTIFLY_LOAD_ALL.getKey());
// 加载watch
loadZkWatch(ZKLISTENER.getWatchPath(), zkConn, ZKLISTENER);
// 创建临时节点
createTempNode(ZKUtils.getZKBasePath() + "line", ZkConfig.getInstance().getValue(ZkParamCfg.ZK_CFG_MYID), zkConn, ZkConfig.getInstance().getValue(ZkParamCfg.MYCAT_SERVER_TYPE));
// 接收zk发送过来的命令
runCommandWatch(zkConn, ZKUtils.getZKBasePath() + ZKHandler.ZK_NODE_PATH);
MigrateTaskWatch.start();
}
Aggregations