Harmonize RuntimeHintsRegistrar implementations
Closes gh-28801
This commit is contained in:
@@ -38,7 +38,7 @@ import org.springframework.transaction.interceptor.TransactionInterceptor;
|
||||
*/
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@Role(BeanDefinition.ROLE_INFRASTRUCTURE)
|
||||
@ImportRuntimeHints(TransactionRuntimeHintsRegistrar.class)
|
||||
@ImportRuntimeHints(TransactionRuntimeHints.class)
|
||||
public class ProxyTransactionManagementConfiguration extends AbstractTransactionManagementConfiguration {
|
||||
|
||||
@Bean(name = TransactionManagementConfigUtils.TRANSACTION_ADVISOR_BEAN_NAME)
|
||||
|
||||
@@ -39,9 +39,9 @@ import org.springframework.util.ReflectionUtils;
|
||||
*
|
||||
* @author Sebastien Deleuze
|
||||
* @since 6.0
|
||||
* @see TransactionRuntimeHintsRegistrar
|
||||
* @see TransactionRuntimeHints
|
||||
*/
|
||||
public class TransactionBeanRegistrationAotProcessor implements BeanRegistrationAotProcessor {
|
||||
class TransactionBeanRegistrationAotProcessor implements BeanRegistrationAotProcessor {
|
||||
|
||||
private final static String JAKARTA_TRANSACTIONAL_CLASS_NAME = "jakarta.transaction.Transactional";
|
||||
|
||||
@@ -70,7 +70,7 @@ public class TransactionBeanRegistrationAotProcessor implements BeanRegistration
|
||||
|
||||
private static class TransactionBeanRegistrationAotContribution implements BeanRegistrationAotContribution {
|
||||
|
||||
private Class<?> beanClass;
|
||||
private final Class<?> beanClass;
|
||||
|
||||
public TransactionBeanRegistrationAotContribution(Class<?> beanClass) {
|
||||
this.beanClass = beanClass;
|
||||
|
||||
@@ -16,13 +16,14 @@
|
||||
|
||||
package org.springframework.transaction.annotation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.aot.hint.MemberCategory;
|
||||
import org.springframework.aot.hint.RuntimeHints;
|
||||
import org.springframework.aot.hint.RuntimeHintsRegistrar;
|
||||
import org.springframework.aot.hint.TypeReference;
|
||||
import org.springframework.aot.hint.support.RuntimeHintsUtils;
|
||||
|
||||
import static java.util.Arrays.asList;
|
||||
import org.springframework.transaction.TransactionDefinition;
|
||||
|
||||
/**
|
||||
* {@link RuntimeHintsRegistrar} implementation that registers runtime hints for
|
||||
@@ -32,17 +33,16 @@ import static java.util.Arrays.asList;
|
||||
* @since 6.0
|
||||
* @see TransactionBeanRegistrationAotProcessor
|
||||
*/
|
||||
public class TransactionRuntimeHintsRegistrar implements RuntimeHintsRegistrar {
|
||||
class TransactionRuntimeHints implements RuntimeHintsRegistrar {
|
||||
|
||||
@Override
|
||||
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
|
||||
RuntimeHintsUtils.registerAnnotation(hints, org.springframework.transaction.annotation.Transactional.class);
|
||||
|
||||
RuntimeHintsUtils.registerAnnotation(hints, Transactional.class);
|
||||
hints.reflection()
|
||||
.registerTypes(asList(
|
||||
TypeReference.of(org.springframework.transaction.annotation.Isolation.class),
|
||||
TypeReference.of(org.springframework.transaction.annotation.Propagation.class),
|
||||
TypeReference.of(org.springframework.transaction.TransactionDefinition.class)),
|
||||
.registerTypes(List.of(
|
||||
TypeReference.of(Isolation.class),
|
||||
TypeReference.of(Propagation.class),
|
||||
TypeReference.of(TransactionDefinition.class)),
|
||||
builder -> builder.withMembers(MemberCategory.DECLARED_FIELDS));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user