vertx

Vert.x 实现REST

僤鯓⒐⒋嵵緔 提交于 2019-12-06 06:07:40
欢迎关注 http://quanke.name/ 交流群: 231419585 转载请注明出处,谢谢 回顾 在第一篇文章中开发了一个非常简单的Vert.x 3应用程序,还包括怎么测试、打包和执行。在第二篇文章中对端口进行了可变配置。 这篇文章中,开发一个CRUD(增删改查)应用,发布一个HTML页面,通过REST API与后台进行交互。RESTfull形式的API不简单,这篇文章中就不涉及了。 接下来,能看到: Vert.x Web - 使用Vert.x创建Web应用的框架 怎么发布静态资源 怎么开发REST API 这篇文章开发的代码放在 GitHub 上,是从第二篇文章的代码基础上进行的。 开始Vert.x Web 如果你看了 前面的文章 ,使用Vert.x Core来处理复杂的HTTP应用还是很麻烦的,所以就有了 Vert.x Web ,它可以使Vert.x开发一个web应用更加简单,而且不会改变Vert.x的思想。 更新pom.xml文件,添加下面的依赖: <dependency> <groupId>io.vertx</groupId> <artifactId>vertx-web</artifactId> <version>3.0.0</version> </dependency> 这就是使用Vert.x Web的唯一前提。 还记得在上一篇文章中,当请求 http:/

Vert.X 入门手记 (二) 下载&安装

a 夏天 提交于 2019-12-05 09:14:17
Vert.X 中文站:vertx.tk(临时域名) 目前中文化正在进行中,有人来帮忙否?? QQ交流群:219655467 下载 官方下载地址:http://vertx.io/downloads.html 本系列文章所使用的是 2.1RC1版本。 安装要求 Vert.X支持 Linux OSX Windows系统。 JDK必须使用 1.7 版本以上,并已经配置了JAVA_HOME & PATH 安装 将下载的压缩包解压至硬盘,并将该目录/bin 引入到PATH中即可。 安装成功请在CMD/SHELL窗口中输入 vertx version 命令,如下即表示安装成功 C:\Users\Administrator>vertx version 2.1RC1 (built 2014-02-26 13:51:32) 简单示例 编写一个Server代码,本处使用Java语言,文件名为Server.java import org.vertx.java.core.Handler; import org.vertx.java.core.http.HttpServerRequest; import org.vertx.java.platform.Verticle; public class Server extends Verticle { public void start() { vertx

es4x 调用其他三方jar 包

会有一股神秘感。 提交于 2019-12-05 04:43:20
es4x 使用了graalvm 作为运行时环境,所以即拥有vertx 的强大,又拥有了与java 代码便捷的通信能力 以下是一个简单的测试,同时也简单说明下es4x 的es4x-launcher.jar 的生成 简单jar 包 使用maven 构建,没有什么特殊的 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> ​ <groupId>com.dalong.nodeapi</groupId> <artifactId>nodejsapi</artifactId> <version>1.0-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build

服务共享 vertx Server sharing

纵然是瞬间 提交于 2019-12-04 09:22:32
Server sharing 服务共享 When several HTTP servers listen on the same port, vert.x orchestrates the request handling using a round-robin strategy. 当几个http服务监听同一个端口,vert.x安排循环处理这个请求。 Let’s take a verticle creating a HTTP server such as: 让我们创建一个http服务: io.vertx.examples.http.sharing.HttpServerVerticle vertx.createHttpServer().requestHandler(request -> { request.response().end("Hello from server " + this); }).listen(8080); This service is listening on the port 8080. So, when this verticle is instantiated multiple times as with: vertx run io.vertx.examples.http.sharing.HttpServerVerticle -instances 2

Vert.X 入门手记 (一) 介绍

隐身守侯 提交于 2019-12-04 09:22:18
Vert.X 中文站:vertx.tk(临时域名) 目前中文化正在进行中,有人来帮忙否?? QQ交流群:219655467 介绍 Vert.X是一个异步网络应用开发框架,用来开发高并发、异步、可伸缩、多语言支持的Web应用。它类似Node.JS,但是不仅仅支持JavaScript,还支持Java、Groovy、Python、Ruby等其他语言。借助Netty作为一个核心处理引擎,改变了当前JEE中常见的阻塞式模型应用的开发,带领大家进入了一个新的Web应用开发领域。 特性 Polyglot:说白一点,就是只要能在JVM上运行的常见语言,都可以直接编写基于Vert.X的应用,目前官方支持的有 Java, JavaScript, CoffeeScript, Ruby, Python or Groovy,据说Node.JS会作为一个JavaScript实现来引入到Vert.X的模块中。 Simplicity:看似简单,其实并不“简单”,Vert.X会帮助你很简单的实现基于异步处理的Web应用,你并不需要关注线程之间的调用、同步等繁琐事情,它帮你实现了一个非常不简单的事情。 Scalability:Vert.X的设计是基于Actor模型的,你可以将一个或多个的程序放入到容器中去执行,可以很轻松的进行部署和升级,很方便的对应用进行水平扩展,动态升级。 Concurrency:Vert

vert.x core vert.x的核心是一个java api的集合

杀马特。学长 韩版系。学妹 提交于 2019-12-04 09:22:06
At the heart of Vert.x is a set of Java APIs that we call Vert.x Core vert.x的核心是一个java api的集合 Repository . Vert.x core provides functionality for things like: 核心提供了以下功能: Writing TCP clients and servers tcp的客户端、服务端 Writing HTTP clients and servers including support for WebSockets http的 客户端、服务端,支持websockets The Event bus 事件总线 Shared data - local maps and clustered distributed maps 本地、集群共享数据 Periodic and delayed actions 周期、延时的动作 Deploying and undeploying Verticles 发布、卸载组件 Datagram Sockets 数据报的sockets DNS client DNS客户端 File system access 文件系统 High availability 高可用 Clustering 集群 The functionality

Vertx JDBC how it works under the hood

匿名 (未验证) 提交于 2019-12-03 01:39:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have been using Vertx for 3 month, but now I wonder how non blocking Vertx JDBC works,for example private void selectEndedMatches(){ this.jdbcClient.getConnection(conn->{ if(conn.failed()){ log.error("Can't get Vertx connection",conn.cause()); } else{ final SQLConnection connection = conn.result(); connection.queryWithParams("select matchid from get5_stats_matches where matchid > ? and end_time is not null",new JsonArray().add(this.lastMatchId),this::endedMatches); connection.close(); } }); } private void endedMatches(final AsyncResult

Vertx Future 异常处理

依然范特西╮ 提交于 2019-11-30 16:50:57
Vertx Future 异常处理 异常发生 ​ 在使用Vertx进行开发的时候,必不可免使用Future异步编程框架。通过Future的 compose ,可以轻松实现不同异步任务的组合。 ​ 但是在每个异步任务的处理过程中,异常的处理是开发者不得不考虑和头疼的问题。无法预知的中断会导致某次任务突然停止在某个阶段。下面是Future代码Demo还原: private Promise<String> getResponse() { Promise<String> promise = Promise.promise(); int[] i = new int[1]; LOGGER.info(" throw exception {}", i[2]); promise.complete("success"); return promise; } 接口Demo如下 // This handler gets called for each request that arrives on the server HttpServerResponse response = request.response(); Promise<String> promise = getResponse(); response.putHeader("content-type", "text/plain");

test

时间秒杀一切 提交于 2019-11-29 11:16:02
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.endv.mpns</groupId> <artifactId>mpns</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <name>mpns</name> <description>ENDV消息推送系统</description> <url>https://github.com/endv/endv</url> <licenses> <license> <name>The Apache Software License, Version 2.0</name> <url>http://www.apache.org

Vert.x(vertx) 认证和授权

不羁的心 提交于 2019-11-27 08:23:13
每个线上系统几乎都是离不开认证和授权的,Vert.x提供了灵活、简单、便捷的认证和授权的支持。Vert.x抽象出了两个核心的认证和授权的接口,一个是 AuthProvider,另一个是User。通过这两个接口,我们可以非常灵活的实现我们自定义的认证和授权方法。当然,Vert.x也给我们提供了使用 JDBC、Shiro、MongoDB、JWT等授权的实现,我们可以直接使用。 Vert.x提供的认证和授权都非常简单,多种授权方式都有一定的规律性。一般来讲不需要刻意的学习,在使用的过程中,多读下Vert.x的源码就能够非常清楚的了解到Vert.x认证和授权底层的逻辑。但不是每一位开发者都有时间或者心情去读源码的,所以,这里我简单列出关于Vert.x的认证和授权的应用。 使用Vert.x认证和授权,需要经历三个阶段 1. 自己实现AuthProvider和User接口实现一个简单的认证和授权。 2. 使用Vert.x提供的授权方式,如JDBC 3. 在Web中使用认证和授权来管理访问权限 1. 自定义授权实现 自定义授权就是自己实现AuthProvider和User这两个接口,重写这两个接口中定义的认证和授权方法,这是Vert.x认证和授权最核心的也是最为底层的,把这两个接口弄明白了,后面使用JDBC授权,jwt等等都非常简单。当然了,如果你仅仅是为了使用,那么你可以直接关注第三个阶段