둘러보기 생략.
 

anyframe.common.aop.ExclusiveBeanNameAutoProxyCreator에 관련된 내용을 찾을 수 없습니다.

Anyframe 2.0.0 기반 시스템을 3.0.0으로 포팅 중입니다.
변경 및 추가 기능을 분석하기 위해 "Anyframe-eMarketplace-3.0.1-struts-1.4-src" 의
applicationContext 를 확인하고 있습니다만

applicationContext-monitoring*.xm 류의 역할과 사용방법에 대해서는 확인하기 어렵군요.
"anyframe.common.aop.ExclusiveBeanNameAutoProxyCreator" 를 어떤 용도로 사용하는지
어떻게 사용하는지에 대한 설명을 보완해주시기 바랍니다.

Spring 1.x은 JointPoint는 메소드만이

Spring 1.x의 JointPoint는 메소드만이 가능하며, Aspect 생성을 위해 주로 ProxyFactoryBean을 사용하고 있습니다.
이 ProxyFactoryBean을 사용하여 Aspect을 만드는 경우, 많은 클래스에 Advice를 적용하기 위해서는 프락시 생성을
위한 설정이 많아지는 부담이 존재합니다. 이러한 부담을 줄이기 위해 Spring은 일련의 규칙을 따르는 BeanName들을
대상으로 Advice를 적용할 수 있도록 BeanNameAutoProxyCreator를 제공하고 있습니다.
Anyframe의 ExclusiveBeanNameAutoProxyCreator는 BeanNameAutoProxyCreator을 상속받아 일련의 규칙을
따르는 Bean들 중에 특정 빈에 대해서는 Advice적용을 제외하고자할 경우 사용될 수 있습니다.

다음은 ExclusiveBeanNameAutoProxyCreator를 사용하여 jdkWithOutAOP을 제외한 jdk로 시작하는 Bean Name을 갖는
Bean의 메소드가 호출이 될 때, NopInterceptor라는 Around Advice(Method Interceptor)가 수행되는 예입니다.

      <beans>
	<bean id="beanNameProxyCreator" class="anyframe.common.aop.ExclusiveBeanNameAutoProxyCreator">
		<description>
			Automatically proxies using JDK dynamic proxies
		</description>
	  <property name="beanNames"><value>jdk*,onlyJdk</value></property>
	  <property name="exclusiveBeanNames"><list><value>jdkWithOutAOP</value></list></property>	  
	  <property name="interceptorNames">
			<list>
				<value>nopInterceptor</value>
			</list>
	  </property>
	</bean>
	
	<bean id="nopInterceptor" class="org.springframework.aop.interceptor.NopInterceptor"/>

	<bean id="jdk" class="org.springframework.beans.TestBean">	
		<property name="name"><value>jdk1</value></property>
	</bean>

	<bean id="jdkWithOutAOP" class="org.springframework.beans.TestBean">	
		<property name="name"><value>jdkwithoutAOP</value></property>
	</bean>
	
     </beans>	

이 같은 방식은, Spring 2.5의 ApectJ나 Annontation를 사용할 경우 bean() pointcut 정의(http://blog.springsource.com/main/2007/09/24/the-new-bean-pointcut/)를 통해 설정이 가능합니다. ApectJ나 Annontation를 사용하여 Aspect을 생성하는 방법은 Core Framework 매뉴얼을 참조하시기 바랍니다.