ConditionalOnMissingPod constructor
const
ConditionalOnMissingPod({})
The ConditionalOnMissingPod
annotation in Jetleaf allows developers
to conditionally process a class or method only when certain pods are
not present in the application context.
This is particularly useful for providing fallback configurations or alternative beans/pods when expected ones are absent.
Key Features:
- Ensures a pod is only loaded if another pod type or name is missing.
- Supports ignoring specific annotations when determining pod presence.
- Supports ignoring entire pod types to avoid conflicts with infrastructure.
Usage Examples:
// Only load an embedded database when no DataSource is present
@ConditionalOnMissingPod(types: [ClassType<DataSource>()])
class EmbeddedDatabaseConfig {}
// Provide a fallback service if a specific pod name is missing
@ConditionalOnMissingPod(name: ['myCustomService'])
class FallbackServiceConfig {}
// Ignore infrastructure pods while checking for missing dependencies
@ConditionalOnMissingPod(
types: [ClassType<MyService>()],
ignoredTypes: [ClassType<DataSource>()],
)
class AlternativeServiceConfig {}
This ensures Jetleaf applications remain flexible by enabling conditional fallbacks and context-aware configuration.
Implementation
const ConditionalOnMissingPod({
this.types = const [],
this.names = const [],
this.ignoredTypes = const [],
});