下载APP 编程狮,随时随地学编程
返回 首页

Java API 版本的Vert.x Core 手册

开始阅读
手册说明:

本人英语水平有限,有任何问题,请加群交流 :231419585

源码在github

Vert.x Core提供的功能:

  • 编写TCP客户端和服务器
  • 编写 HTTP 客户端和服务器包括 Websocket 支持
  • 事件总线(Event bus)
  • 共享的数据-本地的map和分布式的map
  • 定时和延时运行
  • 部署和非部署 Verticles
  • Sockets
  • DNS 客户端
  • 文件系统
  • 高可用性
  • 集群

Vert.x核心功能是相当简单的 — — 你不会找到数据库访问、 授权或高级别 web 功能等,这些东西你可以在哪里找到?在这里-,Vert.x ext(扩展)。

Vert.x core 非常小,非常轻量级。只是使用你想要的部分。也是完全可嵌入在您现有的应用程序 — — 不强迫你使用特殊方式架构您的应用程序,这样你可以方向使用 Vert.x。

您可以使用任何 Vert.x 支持的其他语言的核心。这有点小酷-我们不强迫你使用 Java API ,JavaScript 或者 Ruby等都没问题 — — 毕竟,不同的语言有不同的习惯和语法,迫使Ruby 开发人员使用 Java 的语法,这会很奇怪 (举个例子)。相反,我们自动生成以 Java Api 为核心,等效、地道的每种语言。

从现在起我们会使用 core 指 Vert.x core。

如果你使用 Maven 或 Gradle,需要增加以下依赖才能使用Vert.x Core API:

  • Maven (在你的pom.xml中增加):
<dependency>
  <groupId>io.vertx</groupId>
  <artifactId>vertx-core</artifactId>
  <version>3.2.0</version>
</dependency>
  • Gradle (在您的build.gradle文件增加):
compile io.vertx:vertx-core:3.2.0

下面让我们来讨论 core 的不同概念和功能。


目录
从Vert.x开始
你是傻瓜吗?
不要call(调用、打电话)我们,我们会call给你。
不要阻塞我!
Reactor和多Reactor
黄金法则 — 不要阻塞事件循环
运行阻塞代码

Verticles

编写 Verticles
异步Verticle启动和停止
Verticle类型
以编程方式部署 verticles
verticle名称映射到一个verticle工厂的规则
怎么样找到Verticle Factories?
等待部署完成
取消 verticle 部署
指定verticle实例数
配置verticle
在Verticle里访问环境变量。
Verticle隔离组
高可用性(High Availability)
从命令行运行 Verticles
Vert.x 退出
Context对象
执行定期和延迟的操作
Verticles 自动清理

事件总线(Event Bus)

Event Bus理论
事件总线 API
Event Bus发布消息
Event Bus发送消息
Event Bus消息设置headers
Event Bus消息顺序
Event Bus消息对象
Event Bus确认消息/发送答复
Event Bus发送超时
Event Bus发送失败
Event Bus消息编解码器
群集Event Bus
集群编程
命令行上的集群
自动清理 Verticles
JSON
缓冲区

编写 TCP 服务器和客户端

编写 TCP 服务器
编写 TCP 客户端

编写 HTTP 服务器和客户端

编写 HTTP 服务器
编写 HTTP 客户端

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }