From 9728f48adf4c4fc3f272ce8eb2554910426a0095 Mon Sep 17 00:00:00 2001 From: Ben Alex Date: Tue, 11 Dec 2007 18:46:20 +0000 Subject: [PATCH] Convert to using AopNamespaceUtils, to avoid potentially creating duplicate DefaultAdvisorAutoProxyCreator bean instances. --- .../config/AnnotationDrivenBeanDefinitionParser.java | 7 ++----- .../java/org/springframework/security/config/BeanIds.java | 1 - 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/org/springframework/security/config/AnnotationDrivenBeanDefinitionParser.java b/core/src/main/java/org/springframework/security/config/AnnotationDrivenBeanDefinitionParser.java index 60bfbca860..6cbf33cc5b 100644 --- a/core/src/main/java/org/springframework/security/config/AnnotationDrivenBeanDefinitionParser.java +++ b/core/src/main/java/org/springframework/security/config/AnnotationDrivenBeanDefinitionParser.java @@ -1,12 +1,11 @@ package org.springframework.security.config; -import org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator; +import org.springframework.aop.config.AopNamespaceUtils; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.RuntimeBeanReference; import org.springframework.beans.factory.support.RootBeanDefinition; import org.springframework.beans.factory.xml.BeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; -import org.springframework.metadata.Attributes; import org.springframework.security.intercept.method.MethodDefinitionAttributes; import org.springframework.security.intercept.method.aopalliance.MethodDefinitionSourceAdvisor; import org.springframework.security.intercept.method.aopalliance.MethodSecurityInterceptor; @@ -53,9 +52,7 @@ class AnnotationDrivenBeanDefinitionParser implements BeanDefinitionParser { advisor.getConstructorArgumentValues().addGenericArgumentValue(interceptor); parserContext.getRegistry().registerBeanDefinition(BeanIds.METHOD_DEFINITION_SOURCE_ADVISOR, advisor); - RootBeanDefinition daapc = new RootBeanDefinition(DefaultAdvisorAutoProxyCreator.class); - parserContext.getRegistry().registerBeanDefinition(BeanIds.DEFAULT_ADVISOR_AUTO_PROXY_CREATOR, daapc); - + AopNamespaceUtils.registerAutoProxyCreatorIfNecessary(parserContext, element); return null; } diff --git a/core/src/main/java/org/springframework/security/config/BeanIds.java b/core/src/main/java/org/springframework/security/config/BeanIds.java index ac3920e91c..84e8bc354a 100644 --- a/core/src/main/java/org/springframework/security/config/BeanIds.java +++ b/core/src/main/java/org/springframework/security/config/BeanIds.java @@ -39,6 +39,5 @@ public class BeanIds { public static final String METHOD_DEFINITION_SOURCE_ADVISOR = "_methodDefinitionSourceAdvisor"; public static final String SECURITY_ANNOTATION_ATTRIBUTES = "_securityAnnotationAttributes"; public static final String METHOD_DEFINITION_ATTRIBUTES = "_methodDefinitionAttributes"; - public static final String DEFAULT_ADVISOR_AUTO_PROXY_CREATOR = "_defaultAdvisorAutoProxyCreator"; }