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

1.2. Data

1.3. Validation

1.4. Development Tools

  • Jooby Run: Run and hot reload your application.

  • Whoops: Pretty page stacktrace reporter.

  • Metrics: Application metrics from the excellent metrics library.

1.5. Event Bus

  • Camel: Camel module for Jooby.

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

1.8. Template Engine

1.9. Security

  • Jasypt: Encrypted configuration files.

  • Pac4j: Security engine module.

1.10. Session Store

  • Caffeine: In-memory session store using Caffeine cache.

  • JWT: JSON Web Token session store.

  • Redis: Save session data on redis.

1.11. Scheduler

.