Nacos 服务状态监听四种写发
监听服务的四种实现方式,以监听 Nacos 服务为例
1. 传统方式
public void subscribe() {
try {
NamingService namingService = NamingFactory.createNamingService("127.0.0.1:8848");
namingService.subscribe("serverName","groupName",new EventListener() {
@Override
public void onEvent(Event event) {
if (event instanceof NamingEvent) {
System.out.println("服务名:"+((NamingEvent)event).getServiceName());
System.out.println("实例:"+((NamingEvent)event).getInstances());
}
}
});
} catch (NacosException e) {
logger.error(e.getMessage(), e);
}
}
2. 简写方式
public void subscribe() {
try {
NamingService namingService = NamingFactory.createNamingService("127.0.0.1:8848");
namingService.subscribe("serverName","groupName", event -> {
if (event instanceof NamingEvent) {
System.out.println("服务名:"+((NamingEvent)event).getServiceName());
System.out.println("实例:"+((NamingEvent)event).getInstances());
}
});
} catch (NacosException e) {
logger.error(e.getMessage(), e);
}
}
3. 独立方法
public void subscribe() {
try {
NamingService namingService = NamingFactory.createNamingService("127.0.0.1:8848");
namingService.subscribe("serverName","groupName", serviceListener);
} catch (NacosException e) {
logger.error(e.getMessage(), e);
}
}
EventListener serviceListener = (event) ->
{
if (event instanceof NamingEvent) {
System.out.println("服务名:"+((NamingEvent)event).getServiceName());
System.out.println("实例:"+((NamingEvent)event).getInstances());
}
};
4. 独立文件
public void subscribe() {
try {
NamingService namingService = NamingFactory.createNamingService("127.0.0.1:8848");
namingService.subscribe("serverName","groupName", new NacosListener());
} catch (NacosException e) {
logger.error(e.getMessage(), e);
}
}
//单独Class类
public class NacosListener implements EventListener {
@Override
public void onEvent(Event event) {
if (event instanceof NamingEvent) {
System.out.println(((NamingEvent)event).getServiceName());
System.out.println(((NamingEvent)event).getInstances());
}
}
}
Nacos 服务状态监听四种写发的更多相关文章
- Socket(TCP)客户端请求和服务端监听和链接基础(附例子)
一:基础知识回顾 一: Socket 类 实现 Berkeley 套接字接口. Socket(AddressFamily, SocketType,ProtocolType) 使用指定的地址族.套接字类 ...
- OSGi 系列(七)之服务的监听、跟踪、声明等
OSGi 系列(七)之服务的监听.跟踪.声明等 1. OSGi 服务的事件监听 和 bundle 的事件监听类似,服务的事件监听是在服务注册.注销,属性被修改的时候,OSGi 框架会发出各种不同的事件 ...
- Android USB大容量存储时SD卡状态监听(转)
对SD卡状态监听,到现在为止我知道的有两种方式: 1.注册StorageEventListener来监听sd卡状态 StorageEventListener中有onStorageStateChange ...
- Linux下启动Oracle服务和监听程序步骤
Linux下启动Oracle服务和监听程序启动和关闭步骤整理如下: 1.安装oracle: 2.创建oracle系统用户: 3./home/oracle下面的.bash_profile添加几个环境变量 ...
- 截屏状态监听 - iOS
既接到电话状态监听的需求之后再次添加了截屏状态的监听,当使用 App 时若用户执行截屏操作需要对当前状态进行监听操作,下面有两种方法,其中可以替换截屏的图片内容(Plan A),也可以弹出提示框(Pl ...
- 录屏状态监听之防录屏 - iOS
继之前接到电话.短信和截屏监听需求之后,在 iOS 11.0 系统之上新增了屏幕录制的新功能玩法,所以也随之迎来了新的屏幕录制监听的需求,即防录屏功能监听 ... 通过官方文档得知 capturedD ...
- watch实现监听Vuex状态监听(利用computed)
Vuex 通过 store 选项,提供了一种机制将状态从根组件"注入"到每一个子组件中(需调用 Vue.use(Vuex)):通过在根实例中注册 store 选项,该 store ...
- linux上使用netstat查看当前服务和监听端口
netstat这个命令常用在网络监控方面.利用这个命令,可以查看当前系统监听的服务和已经建立的服务,以及相应的端口.协议等信息. netstat参数说明 netstat参数虽然很多,但是常用的不多,主 ...
- iOS实现电话状态监听 CoreTelephony
在程序中如果需要监听电话状态,可以引入CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能.下面就是具体的实现监测来电的代码.一定要把center写成 ...
- android切换前后台状态监听
public class BaseApplication extends Application { private static BaseApplication instance; /** * 当前 ...
随机推荐
- UIKit Inside: frame bounds position anchorPoint center
iOS 中UIView的属性:frame.bounds.center以及CALayer的属性:position.anchorPoint与视图的位置与大小相关,理解这些属性是进行 iOS 视图编码的基础 ...
- 题解 CF277A
题目大意: 有 \(n\) 名员工,一共有 \(m\) 种语言,每名员工都会其中 \(k_i\) 种语言(\(m \ge \boldsymbol{k_i \ge 0}\)),现规定两名员工可以交流的条 ...
- Mac postman调分页接口,导出csv
准备后端接口 package com.ybchen.controller; import com.ybchen.utils.JsonData; import lombok.Data; import o ...
- Ubuntu 20.04 挂载局域网络共享硬盘
创建挂载目录 mkdir /media/nas 创建认证文件.若无密码可以忽略这一步. sudo vim /root/.examplecredentials 按照以下格式写入用户名密码: userna ...
- Gmail 发送邮件报警
亲测好使 import smtplib import email.mime.text import time # my test mail mail_username = 'XXXXXXXXXXX@g ...
- 2023-11-25:用go语言,给定一个数组arr,长度为n,表示n个格子的分数,并且这些格子首尾相连, 孩子不能选相邻的格子,不能回头选,不能选超过一圈, 但是孩子可以决定从任何位置开始选,也可以
2023-11-25:用go语言,给定一个数组arr,长度为n,表示n个格子的分数,并且这些格子首尾相连, 孩子不能选相邻的格子,不能回头选,不能选超过一圈, 但是孩子可以决定从任何位置开始选,也可以 ...
- Spring Cloud 整合
前言 玩SpringCloud之前最好懂SpringBoot,别搞撑死骆驼的事.Servlet整一下变成Spring:SSM封装.加入东西就变为SpringBoot:SpringBoot再封装.加入东 ...
- Enterprise Architect去掉元素背景渐变效果
打开设置界面:TOOLS - Options 修改Gradients and Background的Gradient Fill Direction for属性为none即可
- MySQL笔记01: MySQL入门_1.2 MySQL下载安装与配置
2.2 MySQL下载安装与配置 2.2.1 MySQL下载 MySQL中文官网:https://www.mysql.com/cn/ MySQL英文官网:https://www.mysql.com/ ...
- 【Python】【OpenCV】定位二维码
相较于BarCode,QRCode有明显的特征区域,也就是左上角.右上角.左下角三个"回"字区域,得益于hierarchy中,父子关系的轮廓是连续的(下标),所以这个时候我们就可以 ...