Feat 2.2.0: Spring‑Boot‑like Ease with Up to 2× Faster Performance Than Vert.x
Feat 2.2.0 launches a Java web framework that mimics Spring Boot's developer experience while discarding legacy Servlet APIs, introducing compile‑time code generation and a smart‑socket engine that delivers roughly double the throughput of Vert.x with sub‑millisecond latency.
1. Servlet API deprecation
The ReadListener and WriteListener interfaces are marked Deprecated because they only serve Jakarta Servlet compatibility. The framework no longer relies on the heavyweight, callback‑driven servlet thread model, which the author describes as “one request, one thread” with asynchronous callbacks that are considered outdated since 2014.
Deprecating these interfaces signals that a specification ignored by its own ecosystem can be removed.
2. Additional notable updates
HTTP client : new HttpOptions#maxConnections to configure the maximum size of the connection pool; long‑connection detection logic refined.
HTTP/2 : cookie handling in push requests improved.
Server stability : decoding exception fixed for protocol‑upgrade scenarios.
Feat Cloud / AOT : support for multi‑environment configuration files feat.yml and feat-{env}.yml.
Underlying engine : smart‑socket upgraded to version 2.1.2.
3. Performance benchmark (Feat vs Vert.x vs Spring Boot)
All three frameworks were exercised with wrk using 4 threads, 100 connections, a 60‑second run, and latency statistics. Two test scenarios were executed: a simple Hello World response and a JSON payload response.
Test Scenario Feat Vert.x Spring Boot
----------------------------------------------------------------
Hello World Throughput 155,939 RPS 82,268 RPS 49,905 RPS
Hello World Latency 0.79 ms 1.43 ms 3.60 ms
JSON Throughput 155,973 RPS 77,212 RPS 44,617 RPS
JSON Latency 0.82 ms 1.54 ms 2.27 msFeat’s throughput is roughly twice that of Vert.x, and its latency stays below 1 ms in both scenarios.
All benchmark code is open‑source in the Feat repository and runs on GitHub Actions.
4. Quick start
Annotated web application using Feat Cloud:
import tech.smartboot.feat.cloud.FeatCloud;
import tech.smartboot.feat.cloud.annotation.Controller;
import tech.smartboot.feat.cloud.annotation.RequestMapping;
@Controller
public class HelloWorld {
@RequestMapping("/hello")
public String hello() {
return "Hello, World!";
}
public static void main(String[] args) {
FeatCloud.cloudServer().listen();
}
}Maven dependencies (runtime and compile‑time transformation):
<!-- Runtime dependency -->
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-cloud</artifactId>
<version>2.2.0</version>
</dependency>
<!-- Compile‑time transformation -->
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-cloud-starter</artifactId>
<version>2.2.0</version>
<scope>provided</scope>
</dependency>5. Design rationale
Preserve the mature, Spring Boot‑like developer experience.
Eliminate reliance on the legacy Servlet design.
Shift as much work as possible to compile time instead of runtime.
Achieve higher performance while consuming fewer resources.
Repository: https://github.com/smartboot/feat Documentation:
https://smartboot.tech/featSigned-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Three Knives
Every line of code you contribute to open source could help make the future better.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
