Modules & Toggles

Modules are enabled/disabled via configuration. When a module is OFF, Spring does not create its beans, routes, schedulers, or migrations. This is the cleanest way to merge legacy systems without immediate microservices.

How ON/OFF works

Config key: modules.<module>.enabled
Mechanism: @ConditionalOnProperty loads or skips the module configuration class.

Example configuration

modules:
  audit:
    enabled: true
  inspection:
    enabled: false
  rcsa:
    enabled: true

Example module entry

@Configuration
@ConditionalOnProperty(prefix="modules.audit", name="enabled", havingValue="true")
@ComponentScan(basePackages="com.company.modules.audit")
public class AuditModuleConfig {}

DB isolation diagram

graph LR subgraph DB[MySQL 9.5.0 LTS] A[(audit schema)] --- A1[audit_plan] A --- A2[audit_finding] I[(inspection schema)] --- I1[inspection_plan] I --- I2[inspection_result] R[(rcsa schema)] --- R1[rcsa_assessment] R --- R2[rcsa_scores] end A2 -. logical ref .-> I2 I1 -. logical ref .-> A1