Skip to content

Commit 36764e5

Browse files
Simplify auditing setup.
Use IsNewAwareAuditingHandler factory method to avoid exposing additional beans. See: #2497
1 parent 5821272 commit 36764e5

File tree

1 file changed

+1
-35
lines changed

1 file changed

+1
-35
lines changed

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/config/JpaAuditingRegistrar.java

+1-35
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,10 @@
2121
import java.lang.annotation.Annotation;
2222

2323
import org.springframework.beans.factory.BeanDefinitionStoreException;
24-
import org.springframework.beans.factory.ListableBeanFactory;
2524
import org.springframework.beans.factory.aspectj.AnnotationBeanConfigurerAspect;
2625
import org.springframework.beans.factory.config.BeanDefinition;
2726
import org.springframework.beans.factory.parsing.BeanComponentDefinition;
2827
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
29-
import org.springframework.beans.factory.support.BeanDefinitionReaderUtils;
3028
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
3129
import org.springframework.beans.factory.support.RootBeanDefinition;
3230
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
@@ -36,9 +34,6 @@
3634
import org.springframework.data.config.ParsingUtils;
3735
import org.springframework.data.jpa.domain.support.AuditingBeanFactoryPostProcessor;
3836
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
39-
import org.springframework.data.mapping.context.PersistentEntities;
40-
import org.springframework.data.repository.config.PersistentEntitiesFactoryBean;
41-
import org.springframework.lang.Nullable;
4237
import org.springframework.util.Assert;
4338
import org.springframework.util.ClassUtils;
4439

@@ -94,38 +89,9 @@ protected void registerAuditListenerBeanDefinition(BeanDefinition auditingHandle
9489
protected void postProcess(BeanDefinitionBuilder builder, AuditingConfiguration configuration,
9590
BeanDefinitionRegistry registry) {
9691

97-
String persistentEntitiesBeanName = detectPersistentEntitiesBeanName(registry);
98-
99-
if (persistentEntitiesBeanName == null) {
100-
101-
persistentEntitiesBeanName = BeanDefinitionReaderUtils.uniqueBeanName("jpaPersistentEntities", registry);
102-
103-
// TODO: https://github.com/spring-projects/spring-framework/issues/28728
104-
BeanDefinitionBuilder definition = BeanDefinitionBuilder.genericBeanDefinition(PersistentEntities.class) //
105-
.setFactoryMethod("of") //
106-
.addConstructorArgReference(JPA_MAPPING_CONTEXT_BEAN_NAME);
107-
108-
registry.registerBeanDefinition(persistentEntitiesBeanName, definition.getBeanDefinition());
109-
}
110-
111-
builder.addConstructorArgReference(persistentEntitiesBeanName);
92+
builder.setFactoryMethod("from").addConstructorArgReference(JPA_MAPPING_CONTEXT_BEAN_NAME);
11293
}
11394

114-
@Nullable
115-
private static String detectPersistentEntitiesBeanName(BeanDefinitionRegistry registry) {
116-
117-
if (registry instanceof ListableBeanFactory beanFactory) {
118-
for (String bn : beanFactory.getBeanNamesForType(PersistentEntities.class)) {
119-
if (bn.startsWith("jpa")) {
120-
return bn;
121-
}
122-
}
123-
}
124-
125-
return null;
126-
}
127-
128-
12995
/**
13096
* @param registry, the {@link BeanDefinitionRegistry} to be used to register the
13197
* {@link AnnotationBeanConfigurerAspect}.

0 commit comments

Comments
 (0)