Skip pseudo bean definition registration during AOT processing

Prior to this commit, AOT processing failed for tests that made use of
the Bean Override feature to "override" a nonexistent bean. The reason
is that we register a "pseudo" bean definition as a placeholder for a
nonexistent bean, and our AOT support cannot automatically convert that
"pseudo" bean definition to a functional bean definition for use at AOT
runtime.

To address that, this commit skips registration of "pseudo" bean
definitions during AOT processing, and by doing so we enable the JVM
runtime and AOT runtime to operate with the same semantics.

See gh-32933
This commit is contained in:
Sam Brannen
2024-10-06 16:05:36 +02:00
parent ce8e06cf10
commit 5ddeb06640
2 changed files with 24 additions and 1 deletions

View File

@@ -155,7 +155,6 @@ class AotIntegrationTests extends AbstractAotTests {
runEndToEndTests(testClasses, false);
}
@Disabled("Comment out to run Bean Override integration tests in AOT mode")
@Test
void endToEndTestsForBeanOverrides() {
List<Class<?>> testClasses = createTestClassScanner()