1. Modules
Modules are a key concept for building reusable and configurable pieces of software.
Modules (unlike in other frameworks) are thin and do a lot of work to bootstrap and configure an external library, but they DO NOT provide a new level of abstraction nor [do] they provide a custom API to access functionality in that library. Instead they expose the library components as they are.
Modules are distributed as separated jar/dependency and usually implement the Extension API.
In general they provide a builder class to create the and configure the external library from
configuration properties.
Available modules are listed next.
1.1. Cloud
-
AWS-SDK v2: Amazon Web Service module SDK 2.
-
AWS SDK v1: Amazon Web Service module SDK 1.
1.2. Data
-
Ebean: Ebean ORM module.
-
Flyway: Flyway migration module.
-
GraphQL: GraphQL Java module.
-
HikariCP: A high-performance JDBC connection pool.
-
Hibernate: Hibernate ORM module.
-
Jdbi: Jdbi module.
-
Kafka: Kafka module.
-
Redis: Redis module.
-
Vertx mySQL client: Vertx reactive mySQL client module.
-
Vertx Postgres client: Vertx reactive Postgres client module.
1.3. Validation
-
Avaje Validator: Avaje Validator module.
-
Hibernate Validator: Hibernate Validator module.
1.6. JSON
-
Gson: Gson module for Jooby.
-
Jackson: Jackson module for Jooby.
-
JSON-B: JSON-B module for Jooby.
-
Avaje-JsonB: Avaje-JsonB module for Jooby.
1.7. OpenAPI
-
OpenAPI: OpenAPI supports.
1.8. Template Engine
-
Handlebars: Handlebars template engine.
-
JStachio: JStachio template engine.
-
jte: jte template engine.
-
Freemarker: Freemarker template engine.
-
Pebble: Pebble template engine.
-
Rocker: Rocker template engine.
-
Thymeleaf: Thymeleaf template engine.
1.11. Scheduler
-
DbScheduler: Db scheduler module.
-
Quartz: Quartz scheduler module.