DataKernel : Boot : JMX

Java components for building high-performance scalable applications with asynchronous I/O, ranging from standalone applications to global solutions.

Лицензия

Лицензия

Категории

Категории

Данные
Группа

Группа

io.datakernel
Идентификатор

Идентификатор

datakernel-jmx
Последняя версия

Последняя версия

3.1.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

DataKernel : Boot : JMX
Java components for building high-performance scalable applications with asynchronous I/O, ranging from standalone applications to global solutions.
Ссылка на сайт

Ссылка на сайт

https://datakernel.io/datakernel-jmx/

Скачать datakernel-jmx

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/io.datakernel/datakernel-jmx/ -->
<dependency>
    <groupId>io.datakernel</groupId>
    <artifactId>datakernel-jmx</artifactId>
    <version>3.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/io.datakernel/datakernel-jmx/
implementation 'io.datakernel:datakernel-jmx:3.1.0'
// https://jarcasting.com/artifacts/io.datakernel/datakernel-jmx/
implementation ("io.datakernel:datakernel-jmx:3.1.0")
'io.datakernel:datakernel-jmx:jar:3.1.0'
<dependency org="io.datakernel" name="datakernel-jmx" rev="3.1.0">
  <artifact name="datakernel-jmx" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.datakernel', module='datakernel-jmx', version='3.1.0')
)
libraryDependencies += "io.datakernel" % "datakernel-jmx" % "3.1.0"
[io.datakernel/datakernel-jmx "3.1.0"]

Зависимости

compile (7)

Идентификатор библиотеки Тип Версия
io.datakernel : datakernel-jmxapi jar 3.1.0
io.datakernel : datakernel-launcher jar 3.1.0
io.datakernel : datakernel-eventloop jar 3.1.0
io.datakernel : datakernel-bytebuf jar 3.1.0
io.datakernel : datakernel-triggers jar 3.1.0
org.jetbrains : annotations jar 17.0.0
org.slf4j : slf4j-api jar 1.7.25

test (4)

Идентификатор библиотеки Тип Версия
io.datakernel : datakernel-test jar 3.1.0
junit : junit jar 4.12
ch.qos.logback : logback-classic jar 1.1.3
org.jmock : jmock-junit4 jar 2.8.1

Модули Проекта

Данный проект не имеет модулей.

Maven Central Apache license Twitter

Project status

Please note that DataKernel framework was massively improved and restructured into a new project named ActiveJ. Now it's even more streamlined, convenient, and powerful! We highly recommend you to migrate to ActiveJ.

Introduction

DataKernel is a full-featured alternative web and big data Java framework built from the ground up. It does not use Netty, Jetty, Spring/Guice DI, RxJava, etc. Instead, it features a full application stack: Event Loop, Promises, HTTP, DI, and others, including decentralized big-data technologies and map-reduce algorithms.

No overhead of intermediate abstractions, legacy standards and third-party libraries makes the framework minimalistic, streamlined and lightning-fast!

Getting started

Just insert this snippet to your terminal...

mvn archetype:generate -DarchetypeGroupId=io.datakernel -DarchetypeArtifactId=archetype-http -DarchetypeVersion=3.1.0

... and open project in your favourite IDE. Then, build the application and run it. Open your browser on localhost:8080 to see the "Hello World" message.

To learn more about DataKernel, visit datakernel.io or follow our 5-minute getting-started guide.

Examples

Basic HTTP server in less than 15 lines of code:

public final class HelloWorldExample { 
    public static void main(String[] args) throws IOException {
        Eventloop eventloop = Eventloop.create();
        AsyncHttpServer server = AsyncHttpServer.create(eventloop,
                request -> Promise.of(
                        HttpResponse.ok200()
                                .withPlainText("Hello, World!")))
                .withListenPort(8080);
        server.listen();
        eventloop.run();
    }
}

AsyncHttpServer is a built-in implementation of an HTTP server that runs asynchronously in a Node.js-inspired Event Loop.

Full-featured embedded web application server with Dependency Injection:

public final class HttpHelloWorldExample extends HttpServerLauncher { 
    @Provides
    AsyncServlet servlet() { 
        return request -> HttpResponse.ok200().withPlainText("Hello, World!");
    }

    public static void main(String[] args) throws Exception {
        Launcher launcher = new HttpHelloWorldExample();
        launcher.launch(args); 
    }
}

HttpServerLauncher - a predefined DataKernel Launcher that takes care of the application lifecycle and provides needed components for our server

@Provides - one of the DataKernel DI annotations

AsyncServlet - asynchronous servlet interface

Promise - Node.js-inspired async single-threaded Promises, an alternative to CompletableFuture

  • The JAR file size of this example is only 1.4 MB. In comparison, minimal Spring web app size is 17 MB
  • This example utilizes quite a few components - Eventloop, DI, Promise, HTTP, Launcher. Yet, it builds and starts in 0.65 sec.
  • DataKernel DI is 5.5 times faster than Guice and 100s times faster than Spring.
  • DataKernel Promise is 7 times faster than Java CompletableFuture.

Lightning-fast RPC server:

public RpcServer rpcServer(Eventloop eventloop) {
    return RpcServer.create(eventloop)
            .withStreamProtocol(...)
            .withMessageTypes(Integer.class)
            .withHandler(Integer.class, Integer.class, req -> Promise.of(req * 2));
}
  • This RPC server handles up to 15M requests per second on a single CPU core.

Documentation

See the docs, examples, and tutorials on our website.

Need help or found a bug?

Feel free to open a GitHub issue.

Communication

io.datakernel

SoftIndex, LLC

Версии библиотеки

Версия
3.1.0
3.0.1
3.0.0
3.0.0-rc
3.0.0-beta2
3.0.0-beta1