Mule ESB中entry-point-resolver的使用(4) Method Entry Point Resolver

Method entry point resolver是比较经常使用的entry point resolver。它根据用户提供的方法名以及Mule Message的Payload类型来匹配entry point。它的使用方式以下:java

​<method-entry-point-resolver>
   <include-entry-point method="MethodEntryPointMethod1"/>
   <include-entry-point method="MethodEntryPointMethod2"/>
</method-entry-point-resolver>

​

这里指定了两个方法名,Mule ESB在匹配entry point时会先查找匹配第一个方法名的方法,若是没有找到,再查找匹配第二个方法名的方法,只要找到一个匹配的方法,会直接执行这个方法得到结果,而不会匹配其余匹配的方法。例如,咱们在TestComponent类中定义了两个方法:spring

public void MethodEntryPointMethod1(String message)
{
	logger.info("MethodEntryPointMethod1's message is:" + message);
}
	
public void MethodEntryPointMethod2(String message)
{
	logger.info("MethodEntryPointMethod2's message is:" + message);
}

在流程文件里设置使用method entry point resolvercode

<component doc:name="Java"> 
 <entry-point-resolver-set>
    <method-entry-point-resolver>
       <include-entry-point method="MethodEntryPointMethod1"/>
       <include-entry-point method="MethodEntryPointMethod2"/>
    </method-entry-point-resolver>
 </entry-point-resolver-set>
 <spring-object bean="methodEntryTest"/>
</component>

运行项目,能够看到MethodEntryPointMethod1方法被匹配执行component

若是咱们修改MethodEntryPointMethod1的参数类型为int,这和mule message的payload类型不匹配,MethodEntryPointMethod2方法将被匹配执行。xml

相关文章
相关标签/搜索