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

相關文章
相關標籤/搜索