vert.x README

The project's README from github.com/eclipse-vertx/vert.x. As one markdown file: README.md.

Build Status (5.x) Build Status (4.x)

Vert.x Core

This is the repository for Vert.x core.

Vert.x core contains fairly low-level functionality, including support for HTTP, TCP, file system access, and various other features. You can use this directly in your own applications, and it's used by many of the other components of Vert.x.

For more information on Vert.x and where Vert.x core fits into the big picture please see the website.

Building Vert.x artifacts

> mvn package

Running tests

Runs the tests

> mvn test

Tests can be run with specified HTTP port and/or HTTPS port.

> mvn test -Dvertx.httpPort=8888 -Dvertx.httpsPort=4044

Vert.x supports native transport on BSD and Linux, to run the tests with native transport

> mvn test -PNativeEpoll
> mvn test -PNativeIoUring
> mvn test -PNativeKQueue

Vert.x supports domain sockets on Linux exclusively, to run the tests with domain sockets

> mvn test -PNativeEpoll+DomainSockets

Vert.x has integrations tests that run a differently configured JVM (classpath, system properties, etc....)

> vertx verify -Dtest=FooTest # FooTest does not exists, its only purpose is to execute no tests during the test phase

Building documentation

> mvn package -Pdocs -DskipTests

Open target/docs/vertx-core/java/index.html with your browser

vert.x (eclipse-vertx/vert.x)

reactive
Searching Database…

14.7K ·GitHub
What is this?Vert.x Core is a toolkit for building reactive, event-driven applications on the JVM, providing low-level support for HTTP, TCP, file system access, and more.
Is this a framework or a library I call directly?It's a toolkit/library you embed in your own JVM applications, not a full framework that dictates your app structure. Many higher-level Vert.x components are built on top of this core module.
How do I add it to a project?Add the vertx-core artifact as a dependency via your JVM build tool (Maven/Gradle); README focuses on building the artifacts from source with the included build scripts.
Do I need anything besides Java to run it?You need a JVM; Vert.x core is built on Netty for its non-blocking I/O layer.
Does native transport work on any OS?Native transport support (for better performance) is limited to BSD and Linux, and Unix domain sockets are supported exclusively on Linux.
What networking protocols does Vert.x core support out of the box?It provides built-in support for HTTP (including HTTP/2), TCP, UDP, and file system access, built on top of Netty's non-blocking I/O.
Why would I use Vert.x instead of writing raw Netty code?Vert.x wraps Netty with a higher-level, event-driven API (the Vert.x event loop model) so you get reactive, non-blocking networking without managing Netty's lower-level details directly, while still being usable by other Vert.x ecosystem components built on top of it.
How is documentation generated for this module?Running the build generates HTML docs you can open locally, for example at target/docs/vertx-core/java/index.html.
What are similar projects?gnet, akka-core, swoole-src, JCSprout, netty, uvloop, kafka, dubbo
Size
124.2 MB
Stars
14.7K
Updated
CommitOct 16
Age
15y
Commits · 90 Days