PASS ordinary bean handles fixed single application policy
PASS same configuration imported twice yields one policy
PASS same configuration parsed once
PASS definition source retains importing configuration
PASS registrar definition instantiated normally
17:32:07.412 [blog.spring.boot.Chapter39.main()] WARN org.springframework.context.annotation.AnnotationConfigApplicationContext -- Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalStateException: registeredPolicy already defined; importer=blog.spring.boot.Chapter39$Second
PASS different importers fail with explicit name conflict
EXPECTED java.lang.IllegalStateException: registeredPolicy already defined; importer=blog.spring.boot.Chapter39$Second
PASS failed refresh leaves context inactive
17:32:07.415 [blog.spring.boot.Chapter39.main()] WARN org.springframework.context.annotation.AnnotationConfigApplicationContext -- Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalStateException: registeredPolicy already defined; importer=blog.spring.boot.Chapter39$First
PASS foreign same-name definition never silently replaced
17:32:07.418 [blog.spring.boot.Chapter39.main()] WARN org.springframework.context.annotation.AnnotationConfigApplicationContext -- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [blog.spring.optional.MissingPolicy] for bean with name 'missingPolicy'
PASS missing type failure identifies definition name
EXPECTED CannotLoadBeanClassException missingPolicy
PASS Boot discovers actual imports resource without component scan
CONDITION blog.spring.boot.OrderAutoConfiguration @ConditionalOnClass found required class 'org.postgresql.Driver'
CONDITION blog.spring.boot.OrderAutoConfiguration @ConditionalOnProperty (lab.order.enabled=true) matched
CONDITION blog.spring.boot.OrderAutoConfiguration#orderPolicy @ConditionalOnMissingBean (types: blog.spring.boot.OrderPolicy; SearchStrategy: all) did not find any beans
CHAPTER 39 PASS
