Home Tutorial Spring Spring3 Aop Spring AOP concurency Throttle Interceptor

 
 

Spring AOP concurency Throttle Interceptor
Posted on: September 15, 2010 at 12:00 AM
In this tutorial you will see how Interceptor throttles concurrent access.

AOP concurrency Throttle Interceptor

In this example you will see, Interceptor that throttles concurrent access, blocking invocations if a specified concurrency limit is reached.

StudentBean.java

package roseindia.net;

public class StudentBean {
	String studentName;
	String studentCourse;

	public String getStudentName() {
		return studentName;
	}

	public void setStudentName(String studentName) {
		this.studentName = studentName;
	}

	public String getStudentCourse() {
		return studentCourse;
	}

	public void setStudentCourse(String studentCourse) {
		this.studentCourse = studentCourse;
	}

	public void showValue() {
		System.out.println("Show Results:" + this.studentName + " "
				+ this.studentCourse);
	}
}

MainClaz.java

package roseindia.net;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

public class MainClaz {
	public static void main(String[] args) {
		BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource(
				"spring/context.xml"));
		StudentBean studentBean = (StudentBean) beanFactory.getBean("testBean");
		studentBean.showValue();
	}
}

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
  <bean id="testBean" class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="target">
      <bean class="roseindia.net.StudentBean">
        <property name="studentName" value="James Bond," />
        <property name="studentCourse" value="B.Tech" />
      </bean>
    </property>
    <property name="interceptorNames">
      <list>
        <idref bean="nameMatchMethodPointcutAdvisor" />
      </list>
    </property>
    <property name="proxyTargetClass" value="true" />
  </bean>
  <bean id="nameMatchMethodPointcutAdvisor"
    class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor"
    singleton="false">
    <property name="advice" ref="concurrencyThrottleInterceptor" />
    <property name="mappedName" value="showValue" />
  </bean>
  <bean id="concurrencyThrottleInterceptor"
    class="org.springframework.aop.interceptor.ConcurrencyThrottleInterceptor"
    singleton="false">
    <property name="concurrencyLimit" value="1" />
  </bean>

</beans>

When you run this application it will display message as shown below:


Show Results:James Bond, B.Tech

Download this example code

Related Tags for Spring AOP concurency Throttle Interceptor:


Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.