The @Factory @Bean methods are not using the @Primary and @Secondary annotations to control the priority of those beans.
In addition, ideally for @Secondary @Bean methods we delay the invocation such that these beans are not initialized unless they are indeed wired.