メッセージを正しいJavaメソッドにルーティングできますか?
手動で作成したBeanの特定のメソッドを意味する場合は、はい。
例:
カスタムBeanを作成します。
public class CustomProcessor {
public void processSomething(Exchange exchange) {
Something smth = exchange.getIn().getBody(Something.class); //Your message's body
}
}
Spring
次のようなラクダ構成の作成を使用します。
<bean id="processor" class="your.custom.CustomProcessor"/>
<camel:camelContext trace="true" id="camelContext" >
<camel:route id="camelRoute">
<camel:from uri="cxf:bean:yourWebServiceListenerEndpoint?dataFormat=POJO&synchronous=true" />
<camel:choice>
<camel:when>
<camel:simple>${headers.operationName} == 'DoSomething'</camel:simple>
<camel:bean ref="processor" method="processSomething"/>
</camel:when>
</camel:choice>
<camel:to uri="cxf:bean:yourWebServiceTargetEndpoint"/>
</camel:route>
</camel:camelContext>
操作名に応じて、ラクダはメッセージを対応するプロセッサにルーティングします。とにかく好きなようにキャメルであなたのメッセージをルーティングすることができます。あなたはただ方法を考えなければなりません。あなたの質問から、これは私が与えることができる限りです。あなたがそれをより具体的に更新するならば、多分私はもう少し助けを提供することができます。
参照: