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; /** * 当前 ...
随机推荐
- 微服务系列-Spring Boot使用Open Feign 微服务通信示例
公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享. 前言 在前几个教程中我们已经看到: 使用 RestTemplate 的 Spring Boot 微服务通信示例 使用 We ...
- GitHub Universe 2023:AI 技术引领软件开发创新浪潮
GitHub 是全球领先的软件开发和协作平台,数百万开发者和企业在此分享.学习和创建卓越的软件.同时 GitHub 处在 AI 技术前沿,通过其先进的 AI 技术增强开发者体验并赋能未来软件开发的使命 ...
- 分享一个有趣的WBO在线创作画板并且可以远程访问
WBO在线协作白板是一个自由和开源的在线协作白板,允许多个用户同时在一个虚拟的大型白板上画图.该白板对所有线上用户实时更新,并且状态始终保持.它可以用于许多不同的目的,包括艺术.娱乐.设计和教学,使用 ...
- Cadence SPB 22.1 -- 原理图的电器元件放置03Day
1.新增原理图:"SCHEMATIC"-->"New Page" 2.元器件放置 ①.添加原理图库 ②.放置元器件 选择对应元件库,再选择需要放置的元件, ...
- Vue05-Vuex
01. 什么是状态管理 在开发中,我们的应用程序需要处理各种各样的数据,这些数据需要保存在我们应用程序的某一个位置,对于这些数据的管理我们就称之为 状态管理. 在Vue开发中,我们使用组件化的开发方式 ...
- markdown文字与图片对齐方式
markdown文字与图片对齐方式 一.图片文字左右对齐 //如图所示,左文字,右图片 <div align="center"> <table rules=&qu ...
- ssm整合-项目异常处理方案
项目异常分类: 项目异常处理方案: 需要自定义异常处理 然后在处理器中加入 package com.itheima.controller; import com.itheima.exception.B ...
- python操作redis集群、redis主从+哨兵
主从+哨兵 from redis.sentinel import Sentinel if __name__ == '__main__': # 哨兵监听的别名,这个就是你redis配置中的名字 serv ...
- 华企盾DSC邮件服务器测试连接提示Server has closed the connection(端口不对)
解决方法:邮件服务器端口填错了,应该是smtp.126.com:s465,或者smtp.126.com:s587 其他邮箱同理.
- vue 2实战系列 —— 复习Vue
复习Vue 近期需要接手 vue 2的项目,许久未写,语法有些陌生.本篇将较全面复习 vue 2. Tip: 项目是基于 ant-design-vue-pro ant-design-vue-pro 由 ...