Class AgentPlatformAutoConfigurationFilter
-
- All Implemented Interfaces:
-
org.springframework.boot.autoconfigure.AutoConfigurationImportFilter
public class AgentPlatformAutoConfigurationFilter implements AutoConfigurationImportFilterAuto-configuration filter that excludes Spring AI's default MCP client auto-configuration to allow the Agent Platform's resilient implementation to take precedence.
This filter implements Spring Boot's AutoConfigurationImportFilter interface to intercept and filter auto-configuration classes during application context initialization. It specifically excludes
Spring AI's defaultMcpClientAutoConfigurationfrom Spring AI, enabling the Agent Platform to register its ownQuiteMcpClientAutoConfigurationwhich extends the base configuration with enhanced error handling and startup resilience.McpClientAutoConfigurationcan cause application startup failures when MCP client initialization encounters errors. This filter prevents that auto-configuration from loading, allowingQuiteMcpClientAutoConfigurationto provide the same functionality with graceful error handling that logs failures without blocking application startup.- Spring Boot discovers all auto-configurations from
META-INF/spring.factoriesorMETA-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports - Before loading them, it applies registered AutoConfigurationImportFilter instances
- This filter examines each auto-configuration class name
- Returns
falseforMcpClientAutoConfiguration, preventing its registration - Returns
truefor all other auto-configurations, allowing normal processing
META-INF/spring.factories:
This filter works in tandem withorg.springframework.boot.autoconfigure.AutoConfigurationImportFilter=\ com.embabel.agent.autoconfigure.platform.AgentPlatformAutoConfigurationFilterQuiteMcpClientAutoConfiguration:- Filter: Prevents Spring AI's default configuration from loading
- QuiteMcpClientAutoConfiguration: Extends the excluded configuration with error handling
- Result: Agent Platform gets resilient MCP client setup without startup failures
- Spring AI's McpClientAutoConfiguration = External bounded context with its own rules
- This Filter = Context boundary enforcement preventing unwanted context intrusion
- QuiteMcpClientAutoConfiguration = Anti-Corruption Layer translating external concepts into Agent Platform's resilient domain model
Just as an Anti-Corruption Layer protects your domain from external system changes, this filter protects the Agent Platform from Spring AI's initialization behavior while still leveraging its core functionality through inheritance.
The match implementation handlesnullentries in the auto-configuration class array, which can occur during Spring Boot's internal processing. Null entries are treated as non-matching (filtered out).- Since:
1.0
-
-
Constructor Summary
Constructors Constructor Description AgentPlatformAutoConfigurationFilter()
-
Method Summary
-
-
Method Detail
-
match
Array<boolean> match(Array<String> autoConfigurationClasses, AutoConfigurationMetadata metadata)
Filters auto-configuration classes to exclude Spring AI's default MCP client configuration.
This method is called by Spring Boot during application context initialization to determine which auto-configurations should be loaded. It evaluates each auto-configuration class name and returns a boolean array indicating whether each should be included.
Filtering Logic:
nullentries →false(excluded for safety)McpClientAutoConfiguration→false(explicitly excluded)- All other classes →
true(allowed to load)
- Parameters:
autoConfigurationClasses- array of auto-configuration class names to evaluate; may containnullentriesmetadata- metadata about the auto-configurations (not used in this implementation)- Returns:
boolean array where
truemeans "include this auto-configuration" andfalsemeans "exclude this auto-configuration"; array length matches input array length
-
-
-
-