1717
1818import java .lang .annotation .Annotation ;
1919
20- import org .springframework .beans .factory .ListableBeanFactory ;
2120import org .springframework .beans .factory .config .BeanDefinition ;
2221import org .springframework .beans .factory .support .BeanDefinitionBuilder ;
23- import org .springframework .beans .factory .support .BeanDefinitionReaderUtils ;
2422import org .springframework .beans .factory .support .BeanDefinitionRegistry ;
2523import org .springframework .context .annotation .ImportBeanDefinitionRegistrar ;
2624import org .springframework .data .auditing .IsNewAwareAuditingHandler ;
2725import org .springframework .data .auditing .config .AuditingBeanDefinitionRegistrarSupport ;
2826import org .springframework .data .auditing .config .AuditingConfiguration ;
2927import org .springframework .data .config .ParsingUtils ;
30- import org .springframework .data .mapping .context .PersistentEntities ;
3128import org .springframework .data .relational .auditing .RelationalAuditingCallback ;
32- import org .springframework .lang .Nullable ;
3329import org .springframework .util .Assert ;
3430
3531/**
3935 * @see EnableJdbcAuditing
4036 * @author Kazuki Shimizu
4137 * @author Jens Schauder
38+ * @author Christoph Strobl
4239 */
4340class JdbcAuditingRegistrar extends AuditingBeanDefinitionRegistrarSupport {
4441
@@ -69,7 +66,7 @@ protected String getAuditingHandlerBeanName() {
6966 @ Override
7067 protected void postProcess (BeanDefinitionBuilder builder , AuditingConfiguration configuration ,
7168 BeanDefinitionRegistry registry ) {
72- potentiallyRegisterJdbcPersistentEntities ( builder , registry );
69+ builder . setFactoryMethod ( "from" ). addConstructorArgReference ( "jdbcMappingContext" );
7370 }
7471
7572 @ Override
@@ -96,39 +93,4 @@ protected void registerAuditListenerBeanDefinition(BeanDefinition auditingHandle
9693 registerInfrastructureBeanWithId (listenerBeanDefinitionBuilder .getBeanDefinition (),
9794 RelationalAuditingCallback .class .getName (), registry );
9895 }
99-
100- static void potentiallyRegisterJdbcPersistentEntities (BeanDefinitionBuilder builder ,
101- BeanDefinitionRegistry registry ) {
102-
103- String persistentEntitiesBeanName = JdbcAuditingRegistrar .detectPersistentEntitiesBeanName (registry );
104-
105- if (persistentEntitiesBeanName == null ) {
106-
107- persistentEntitiesBeanName = BeanDefinitionReaderUtils .uniqueBeanName ("jdbcPersistentEntities" , registry );
108-
109- // TODO: https://github.com/spring-projects/spring-framework/issues/28728
110- BeanDefinitionBuilder definition = BeanDefinitionBuilder .genericBeanDefinition (PersistentEntities .class ) //
111- .setFactoryMethod ("of" ) //
112- .addConstructorArgReference ("jdbcMappingContext" );
113-
114- registry .registerBeanDefinition (persistentEntitiesBeanName , definition .getBeanDefinition ());
115- }
116-
117- builder .addConstructorArgReference (persistentEntitiesBeanName );
118- }
119-
120- @ Nullable
121- private static String detectPersistentEntitiesBeanName (BeanDefinitionRegistry registry ) {
122-
123- if (registry instanceof ListableBeanFactory beanFactory ) {
124- for (String bn : beanFactory .getBeanNamesForType (PersistentEntities .class )) {
125- if (bn .startsWith ("jdbc" )) {
126- return bn ;
127- }
128- }
129- }
130-
131- return null ;
132- }
133-
13496}
0 commit comments