我可以将我的消息路由到正确的 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>
根据操作名称骆驼将消息路由到相应的处理器。你可以用任何你喜欢的方式在 Camel 中发送你的消息。你只需要想想怎么做。从你的问题来看,这是我能给出的。如果您将其更新为更具体,也许我可以提供更多帮助。
也可以看看: