×

experiencing per xp

experience搭配of/in/with,有什么区别?如何使用Curator监听zookeeper事件变化

admin admin 发表于2022-06-07 01:38:58 浏览124 评论0

抢沙发发表评论

experience搭配of/in/with,有什么区别


一、表达的意思不同。

当做动词时,接介词in,即experience in 有经验;有…的经验

做名词时有如下用法:
life/working experience 工作经验;工作经历 / 生活经历,生活经验。

Poor selfesteem is at the centre of many of the difficulties

we experience in our relationships. 

缺乏自尊心是我们之间关系所遭遇的重重困难中的核心问题。

experience of 时,接名词或者Ving动名词,【这时experience是名词】,而后面接的名词或动名词,一般是具体的表示经历的事物。

例:
She had no experience of life at all.她毫无生活经验。

People’s responses to us have been mediated by their past experience of life. 

人们对我们作出的反应受到了他们过去生活经历的影响。

experience with sth,通常后面接的事情属于有相关度的事情,并非经历本身。

He’s counting on his mother to take care of the twins for him; 

she’s hadplenty of experience with them. 

他靠母亲帮忙照顾他的双胞胎;她在这方面很有经验。

二、后接不同介词。

experience of接名词或者Ving动名词。

experience in 接名词或者动名词。

experience with 后接名词

扩展资料

experience in

英 [ɪkˈspɪəriəns ɪn]   美 [ɪkˈspɪriəns ɪn]  

经验丰富

例句

1、His extensive experience in other parts of Asia helped him to overcome cultural barriers. 

在亚洲其他地区的广泛经历帮助他克服了文化障碍。

2、People with the same experience in the job should be paid the same 

工作经历相同的人应拿同样的工资。

3、He has senatorial experience in defence and foreign policy. 

他在参议院期间有过国防和外交政策方面的经验。


如何使用Curator监听zookeeper事件变化


掌握zookeeper事件监听机制,非常重要,可以说是跨入了进阶的门槛,只有掌握了如何监听某个节点或路径,我们才能在节点变化后,做一些我们想做的事,包括:
1,配置文件同步
2,主从切换
3,分布式队列
4,分布式锁
5,其他

散仙,在以前的文章里面有写过使用zookeeper原生的api,监听zk节点变化,那么本篇我们就来看下,如何使用curator来完成监听,代码如下:
《pre name=“code“ class=“java“》package com.qin.curator.zk;

import javax.sound.midi.Patch;

import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.framework.CuratorFrameworkFactory.Builder;
import org.apache.curator.framework.api.CuratorWatcher;
import org.apache.curator.framework.recipes.cache.NodeCache;
import org.apache.curator.framework.recipes.cache.NodeCacheListener;
import org.apache.curator.framework.recipes.cache.PathChildrenCache;
import org.apache.curator.framework.recipes.cache.PathChildrenCacheEvent;
import org.apache.curator.framework.recipes.cache.PathChildrenCacheListener;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.curator.utils.ZKPaths;
import org.apache.zookeeper.WatchedEvent;
/**
*
* 使用curator监听zookeeper节点
* @author qindongliang
* **/
public class CuratorWatch {

static CuratorFramework zkclient=null;
static String nameSpace=“php“;
static {

String zkhost=“192.168.46.22:2181“;//zk的host
RetryPolicy rp=new ExponentialBackoffRetry(1000, 3);//重试机制
Builder builder = CuratorFrameworkFactory.builder().connectString(zkhost)
.connectionTimeoutMs(5000)
.sessionTimeoutMs(5000)
.retryPolicy(rp);
builder.namespace(nameSpace);
CuratorFramework zclient = builder.build();
zkclient=zclient;
zkclient.start();// 放在这前面执行
zkclient.newNamespaceAwareEnsurePath(nameSpace);

}

public static void main(String args) throws Exception{

watch();
Thread.sleep(Long.MAX_VALUE);

}

/**
*
* 监听节点变化
*
* */
public static void watch()throws Exception{
PathChildrenCache cache = new PathChildrenCache(zkclient, “/zk“, false);
cache.start();

System.out.println(“监听开始/zk........“);
PathChildrenCacheListener plis=new PathChildrenCacheListener() {

@Override
public void childEvent(CuratorFramework client, PathChildrenCacheEvent event)
throws Exception {
switch ( event.getType() )
{
case CHILD_ADDED:
{
System.out.println(“Node added: “ + ZKPaths.getNodeFromPath(event.getData().getPath()));
break;
}

case CHILD_UPDATED:
{
System.out.println(“Node changed: “ + ZKPaths.getNodeFromPath(event.getData().getPath()));
break;
}

case CHILD_REMOVED:
{
System.out.println(“Node removed: “ + ZKPaths.getNodeFromPath(event.getData().getPath()));
break;
}
}

}
};
//注册监听
cache.getListenable().addListener(plis);

}

}
-per

die,expire,perish,pass away有什么区别


expire 指时间过期了。
Perish 指什么事物消失了,
die 是人死了
Pass away: 去世了,
说一个人死了,和说一个人去世了 ,意思差不多。不过说一个人去世比说一个人死了,更委婉