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:
Mechanism:
modules.<module>.enabledMechanism:
@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