ActiveJ is a full-featured alternative Java platform built from the ground up as a replacement of Spring, Spark, Quarkus, Micronauts, and other solutions. It is minimalistic, boilerplate-free, and incomparably faster, which is proven by benchmarks. ActiveJ has minimum third-party dependencies, yet features full stack of technologies with efficient async programming model and powerful DI library ActiveInject
Insert this snippet to your terminal...
mvn archetype:generate -DarchetypeGroupId=io.activej -DarchetypeArtifactId=archetype-http -DarchetypeVersion=1.0
... and open the project in your favourite IDE. Then, build the application and run it. Open your browser on localhost:8080 to see the "Hello World" message.
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);
}
}- The JAR file size of the example is only 1.4 MB. In comparison, minimal Spring web app size is 17 MB.
- This example cold start time is 0.65 sec.
- This example uses ActiveInject DI library which is 5.5 times faster than Guice and 100s times faster than Spring.
To learn more about ActiveJ, please visit https://activej.io or follow our 5-minute getting-started guide.
This repository contains ActiveJ platform components along with helper ActiveJ libraries:
- ActiveInject -
core-injectmodule; - ActiveSerializer -
core-serializermodule; - ActiveCodegen -
core-codegenmodule; - ActiveSpecializer -
core-specializermodule. - ActiveRPC -
cloud-rpcmodule; - ActiveFS -
cloud-fsmodule;
You can find examples of using ActiveJ platform and all the ActiveJ libraries in examples module.