ExecuteLimitFilter主要用来做并发控制
例子1:限制服务 的每个方法,服务器端并发执行(或占用线程池线程数)不能超过 10个,具体配置如下
<dubbo:service interface="com.foo.BarService" executes="10" />
例子2:限制 com.foo.BarService 的 sayHello 方法,服务器端并发执行(或占用线程池线程数)不能超过 10 个:
<dubbo:service interface="com.foo.BarService">
<dubbo:method name="sayHello" executes="10" />
</dubbo:service>
以上两个例子来copy自dubbo官网,下面通过源码分析Filter如何处理,先看下类的定义
@Activate(group = Constants.PROVIDER, value = Constants.EXECUTES_KEY)
public class ExecuteLimitFilter implements Filter {