0

ServiceMix 的新手,我不确定它是否能满足我的需求:

  • 我有一个由 wsdl 定义的接口
  • 我有几个端点实现了 wsdl 定义的接口
  • 我有一项只能将消息发送到一个端点的服务。

服务组合可以执行以下操作:

  1. 生产者发送到 servicemix 中的端点(使用 wsdl)。
  2. ServiceMix 将消息广播到不同的端点。

感谢您的建议和/或指点!

4

1 回答 1

0

最简单的方法是使用Camel Recipient List。这将允许您为广播设置静态或动态目的地。

听起来好像您的应用程序不需要在 ServiceMix 使用者处终止 SOAP 消息(将负载反序列化到对象/从对象序列化)。因此,使用 Camel Jetty 代理可以保持非常简单:

上面的链接有更多关于如何配置静态(上面的例子)和动态路由的详细信息。

如果您的应用程序发生更改并且将来确实需要在 ServiceMix 使用者处终止 SOAP 消息,则将 Camel Jetty 使用者端点更改为Camel CXF端点并将 bridgeEndpoint 设置为 false。

至于 ServiceMix,您需要启用 Camel Jetty 组件。要默认启用它,您需要编辑 etc/org.apache.karaf.features.cfg 文件并将 camel-jetty 添加到 featuresBoot 属性。这通常是应用程序所需功能的最佳实践。您还可以使用命令“features:install camel-jetty”在 ServiceMix 控制台上安装该功能。

收件人列表功能是默认安装的 Camel Core API 的一部分,如果没有安装,则作为任何其他 Camel 组件的依赖项。

最好的问候,斯科特 ES

于 2012-06-06T14:10:01.373 回答