vertx的学习总结三
一、event bus是什么
各个verticle的通信
二、point-to-point, request-reply, publish/subscribe 通过 the event bus
例题一:点对点
package eventBus;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Vertx;
public class EventBusExample extends AbstractVerticle {
    public static void main(String[] args) {
        Vertx vertx = Vertx.vertx();
        vertx.deployVerticle(new EventBusExample());
    }
    @Override
    public void start() {
        vertx.eventBus().consumer("example.address", message -> {
            System.out.println("Received message: " + message.body());
            message.reply("Replying to the message");
        });
        vertx.eventBus().send("example.address", "Hello Vert.x");
    }
}例题二:请求-应答

例题三:发布订阅
Send.java
package eventBus.pointTopoint;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.eventbus.EventBus;
public class Send extends AbstractVerticle {
    @Override
    public void start() throws Exception {
        EventBus bus=vertx.eventBus();
        bus.publish("my.update","我怀疑是异步的,所以会sleep1000");
    }
}
Comsumer.java
package eventBus.pointTopoint;
import io.vertx.core.AbstractVerticle;
import io.vertx.core.eventbus.EventBus;
public class Comsumer extends AbstractVerticle {
    @Override
    public void start() throws Exception {
        EventBus bus = vertx.eventBus();
        bus.consumer("my.update",str->{
            String sty=(String) str.body();
            System.out.println(sty);
        });
    }
}
main.java
package eventBus.pointTopoint;
import io.vertx.core.Vertx;
public class Main {
    public static void main(String[] args) {
        Vertx vertx=Vertx.vertx();
        vertx.deployVerticle(new Comsumer());
        vertx.deployVerticle(new Send());
    }
}

我们之前用的都是在同一个本地的jvm,现在我们考虑一下不在本地的情况,使用节点管理器

vertx的学习总结三的更多相关文章
- Oracle学习笔记三 SQL命令
		SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL) 
- 从零开始学习jQuery (三) 管理jQuery包装集
		本系列文章导航 从零开始学习jQuery (三) 管理jQuery包装集 一.摘要 在使用jQuery选择器获取到jQuery包装集后, 我们需要对其进行操作. 本章首先讲解如何动态的创建元素, 接着 ... 
- 前端学习 第三弹: JavaScript语言的特性与发展
		前端学习 第三弹: JavaScript语言的特性与发展 javascript的缺点 1.没有命名空间,没有多文件的规范,同名函数相互覆盖 导致js的模块化很差 2.标准库很小 3.null和unde ... 
- Android Animation学习(三) ApiDemos解析:XML动画文件的使用
		Android Animation学习(三) ApiDemos解析:XML动画文件的使用 可以用XML文件来定义Animation. 文件必须有一个唯一的根节点: <set>, <o ... 
- 三、Android学习第三天——Activity的布局初步介绍(转)
		(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 三.Android学习第三天——Activity的布局初步介绍 今天总结下 ... 
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB
		JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ... 
- MyEclipse Spring 学习总结三 SpringMVC
		MyEclipse Spring 学习总结三 SpringMVC 一.SpringMVC原理 1.Springmvc 框架介绍 1)Spring 框架停工了构建Web应用程序的全功能MVC模块.Spr ... 
- Quartz定时任务学习(二)web应用/Quartz定时任务学习(三)属性文件和jar
		web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用 ... 
- MyBatis学习系列三——结合Spring
		目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring MyBatis在项目中应用一般都要结合Spring,这一章主要把MyBat ... 
- MyBatis学习 之 三、动态SQL语句
		目录(?)[-] 三动态SQL语句 selectKey 标签 if标签 if where 的条件判断 if set 的更新语句 if trim代替whereset标签 trim代替set choose ... 
随机推荐
- WorkManager的用法
			一.WorkManager的作用 绝大部分应用程序都有后台执行任务的需求,根据需求的不同,Android为后台任务提供了多种解决方案,如JobShedule,Loader,Service等.如果这些a ... 
- 文心一言(ERNIE Bot)初体验
			引言 几个月前向百度提交了文心一言的体验申请,这两天收到了可以体验的通知,立马体验了一把.总体来说,文心一言基本上能做到有问必答,但是一些奇葩的问题还是会难住这位初出茅庐的 AI. 分享体验 我先后问 ... 
- 关于api数据接口应用
			在当今互联网时代,API数据接口应用已经成为各行各业不可替代的技术,它可以让开发者更加轻松地访问和使用各种功能和数据,从而提高开发效率和用户体验.下面就让我们来详细了解API数据接口应用的相关内容. ... 
- 记一次 .NET某新能源MES系统 非托管泄露
			一:背景 1. 讲故事 前些天有位朋友找到我,说他们的程序有内存泄露,跟着我的错题集也没找出是什么原因,刚好手头上有一个 7G+ 的 dump,让我帮忙看下是怎么回事,既然找到我了那就给他看看吧,不过 ... 
- ORA-01008:并非所有变量都已绑定-解决办法
			近期批量处理数据,后台用JAVA编写,连接Oracle数据库,程序运行报ORA-01008问题.解决这个问题时遇见的坑较多,下面复盘现象.问题提出解决办法,希望能帮到遇见同类问题的你. 调试问题: 后 ... 
- 【matplotlib 实战】--堆叠柱状图
			堆叠柱状图,是一种用来分解整体.比较各部分的图.与柱状图类似,堆叠柱状图常被用于比较不同类别的数值.而且,它的每一类数值内部,又被划分为多个子类别,这些子类别一般用不同的颜色来指代. 柱状图帮助我们观 ... 
- Aoba's GitLab Doki Theme - 一个简单的 GitLab 主题工具
			前言 平常工作在用 GitLab 但总觉得缺点什么颜色好单调,于是随手摸了一个主题工具 界面预览 GitLab 主页效果 个人偏好配置页面 安装方法 安装 Tampermonkey 之类的用户脚本工具 ... 
- 造轮子之EventBus
			前面基础管理的功能基本开发完了,接下来我们来优化一下开发功能,来添加EventBus功能.EventBus也是我们使用场景非常广的东西.这里我会实现一个本地的EventBus以及分布式的EventBu ... 
- CF1877 Div2 A-E 题解
			A 显然 \(n\) 个队的得分之和为 \(0\),因此答案为这 \(n-1\) 个数的和的相反数. 赛时代码 B 小贪心. 将所有人按 \(b\) 升序排序,\(b\) 相同时按 \(a\) 降序, ... 
- 前端CSS五中元素定位类型
			元素想通过底部.顶部.左侧.右侧属性定位是必须先设定position的属性值 posistion属性的五个值:static.relative.fixed.absoulte.sticky static定 ... 
