Skip to content

Quarkus Coupling ​

Quarkus coupling appears in two forms.

  • Deployment module uses Quarkus build items, build steps, generated bean registration, Jandex, and extension dependencies.
  • Runtime module still has several Quarkus mechanisms that should be moved behind adapter seams.
Runtime concernCurrent mechanismPortability issueProposed seam
Step bean lookupArc.container().instance(...) in PipelineStepResolverHard Quarkus container dependencyBeanLookup
Active profileLaunchMode.current().getProfileKey() in PipelineConfigQuarkus launch modelRuntimeProfile
Config mappingsSmallRye @ConfigMapping and MicroProfile @ConfigPropertyDifferent Spring binding modelConfigProvider plus platform adapters
Local async work eventCDI @ObservesAsync in PipelineExecutionServiceCDI event bus dependencyEventBus or WorkDispatcher
Bean collectionsCDI Instance<T>Different lookup and ordering model in SpringBeanLookup.list(type) with priority metadata
Unremovable beans@UnremovableQuarkus Arc optimization concernQuarkus adapter annotation only

Quarkus remains the reference implementation while these concerns move to adapter seams.