17
17
18
18
import java .lang .annotation .Annotation ;
19
19
20
- import org .springframework .beans .factory .ListableBeanFactory ;
21
20
import org .springframework .beans .factory .config .BeanDefinition ;
22
21
import org .springframework .beans .factory .support .BeanDefinitionBuilder ;
23
- import org .springframework .beans .factory .support .BeanDefinitionReaderUtils ;
24
22
import org .springframework .beans .factory .support .BeanDefinitionRegistry ;
25
23
import org .springframework .context .annotation .ImportBeanDefinitionRegistrar ;
26
24
import org .springframework .data .auditing .IsNewAwareAuditingHandler ;
27
25
import org .springframework .data .auditing .config .AuditingBeanDefinitionRegistrarSupport ;
28
26
import org .springframework .data .auditing .config .AuditingConfiguration ;
29
27
import org .springframework .data .config .ParsingUtils ;
30
- import org .springframework .data .mapping .context .PersistentEntities ;
31
28
import org .springframework .data .relational .auditing .RelationalAuditingCallback ;
32
- import org .springframework .lang .Nullable ;
33
29
import org .springframework .util .Assert ;
34
30
35
31
/**
39
35
* @see EnableJdbcAuditing
40
36
* @author Kazuki Shimizu
41
37
* @author Jens Schauder
38
+ * @author Christoph Strobl
42
39
*/
43
40
class JdbcAuditingRegistrar extends AuditingBeanDefinitionRegistrarSupport {
44
41
@@ -69,7 +66,7 @@ protected String getAuditingHandlerBeanName() {
69
66
@ Override
70
67
protected void postProcess (BeanDefinitionBuilder builder , AuditingConfiguration configuration ,
71
68
BeanDefinitionRegistry registry ) {
72
- potentiallyRegisterJdbcPersistentEntities ( builder , registry );
69
+ builder . setFactoryMethod ( "from" ). addConstructorArgReference ( "jdbcMappingContext" );
73
70
}
74
71
75
72
@ Override
@@ -96,39 +93,4 @@ protected void registerAuditListenerBeanDefinition(BeanDefinition auditingHandle
96
93
registerInfrastructureBeanWithId (listenerBeanDefinitionBuilder .getBeanDefinition (),
97
94
RelationalAuditingCallback .class .getName (), registry );
98
95
}
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
-
134
96
}
0 commit comments