Adding Quarkus to a modularized hexagonal application
To recap, we structured the topology and inventory system in three modularized hexagons: Domain, Application, and Framework. A question that may arise is, which module should be responsible for starting the Quarkus engine? Well, to avoid blurring the responsibilities of each module in the topology and inventory system, we’ll create a dedicated module whose sole purpose is to aggregate the other hexagonal system modules and bootstrap the Quarkus engine. We will name this new module Bootstrap, as illustrated in the following diagram:
Figure 10.4 – The Bootstrap aggregator module
The bootstrap
module is an aggregator module that provides, from one side, the dependencies required to initialize Quarkus and, from the other side, the hexagonal
module dependencies for use in conjunction with Quarkus.
Let’s create this new bootstrap
module in the topology and inventory system, as follows...