Expanding the Horizon: Quarkus and Micronaut Support in TeaQL
We're thrilled to announce that TeaQL's code generation engine has expanded beyond its initial Spring Boot roots! You can now generate fully functional, domain-driven APIs for Quarkus and Micronaut.
By introducing the new java-web-quarkus and java-web-micronaut generation targets, TeaQL ensures you can leverage the exact same deterministic models and generated data-access logic across the most popular cloud-native Java frameworks today.
Beyond Spring Boot
While Spring Boot remains a powerhouse in the enterprise ecosystem, the demand for lightweight, fast-starting, and memory-efficient frameworks like Quarkus and Micronaut has grown rapidly—especially in serverless and container-heavy environments.
Our goal with TeaQL is to be framework-agnostic at the domain level. By separating our core execution logic into teaql-provider-jdbc, we were able to seamlessly integrate our triple-intent runtime into the CDI-based dependency injection systems of Quarkus and Micronaut.
Architecture & Dependencies
To make this multi-framework support possible, we designed a clean separation between the domain logic and the framework-specific infrastructure. Depending on the framework you choose, your generated project will rely on a specific set of TeaQL components:
Spring Boot Architecture
When targeting java-web-spring-boot, the architecture natively embraces Spring's ecosystem:
teaql-provider-spring-jdbc: The core execution adapter that binds TeaQL's AST to Spring'sNamedParameterJdbcTemplate.teaql-data-service-sql: The standard SQL generation and metadata service.- Infrastructure: Standard Spring Boot starters for Web and JDBC, utilizing Spring's
@Configurationand@Beanlifecycle.
Quarkus Architecture
For java-web-quarkus, we bypassed Spring dependencies entirely to keep the runtime lightweight and native-friendly:
teaql-provider-jdbc: A pure JDBC provider that connects directly to anyjavax.sql.DataSource.teaql-data-service-sql: The shared SQL runtime engine.- Infrastructure: The generated application utilizes
quarkus-resteasy-reactive-jacksonfor web endpoints,quarkus-agroalfor high-performance connection pooling, and standard@ApplicationScopedCDI beans for registering the TeaQL runtime.
Micronaut Architecture
Similarly, for java-web-micronaut, we optimized for Micronaut's ahead-of-time (AOT) compilation:
teaql-provider-jdbc: The same pure JDBC provider used in Quarkus.teaql-data-service-sql: The shared SQL runtime engine.- Infrastructure: The output project uses
micronaut-http-server-nettyand@Singletonbean configurations, wiring natively into Micronaut's HikariCP data sources.
Both new targets share the same underlying Java 21 java-lib-core library. Your business logic, data models, entities, and generated expressions remain 100% identical and portable.
Try It Out
Generating a new Quarkus or Micronaut project is as simple as changing the scope parameter when invoking the generator:
# For Quarkus
mvn exec:java -Dexec.mainClass="com.skynet.codegenerator.LocalGenerator" \
-Dexec.args="java-web-quarkus /path/to/output model.xml"
# For Micronaut
mvn exec:java -Dexec.mainClass="com.skynet.codegenerator.LocalGenerator" \
-Dexec.args="java-web-micronaut /path/to/output model.xml"
We believe that your domain logic should outlive any specific framework. With these additions, TeaQL continues to deliver on the promise of durable, portable, and bug-free business code.
