2014-01-05 57 views
2

我被困在apache camel,cxf web服务和osgi bundle在apache servicemix中混合的以下场景中。apache骆驼,cxf web服务和osgi bundle在servicemix(v4.5.3)中的场景

场景:

我已经部署在Tomcat中弹簧的Web应用程序(WA1)。在同一台机器上,我运行了servicemix。在servicemix中,我已经在servicemix中使用apache cxf部署了其他Web服务(ws1),还部署了一个bundle(b1)。我想要的是从spring web应用(带有URL中的append参数)中获取web服务(ws1),在web服务(ws1)获取请求后,从URL获取参数并将其发送到另一个bundle(即B1)。

我到目前为止所做的是:实现的Web服务,捆绑和部署两者。我每一件事都得到了URL的参数。

现在,我的查询是如何将参数从web服务发送到捆绑。为此,我认为apache骆驼是最好的候选人。所以,我需要一些指导,我应该使用apache骆驼。

eg: from("ws1 with parameter").to("send this parameters to bundle(b1)"). 

如何实现这个,我应该使用什么组件,端点?请帮帮我。 而且,这是正确的做法,我跟随?

+0

等待一些专家评论 – ved

+0

请指导我.. ,并随时要求任何查询 – ved

回答

2

正如你已经注意到的,你应该选择适当的组件来完成工作:)。在你的场景中(同一个虚拟机 - Servicemix和OSGi包),我想推荐使用Direct VM。骆驼的文档解释得很清楚:

这个组件还允许连接部署在不同的 OSGI Bundle中的路由,如下图所示。即使它们在 不同的捆绑包中运行,骆驼路线也将使用相同的线程

您也可以在文档中找到示例。

直接虚拟机组件是相当简单的(所以速度也非常快),所以您将来可能需要更高级的软件包间通信方式。例如,很多人使用JMS。无论如何,Direct VM在很多情况下都是这样的:)。

罗伯特

+0

感谢您的支持。让我检查一下。 – ved

+0

不错的建议,我以前没有用过direct-vm。否则,您可以使用某种类型的JMS/MQ,或者甚至可以使用zookeeper或hazelcast等配置组件。 – vikingsteve

+0

请注意,direct-vm也很快,因为它基于Java中实现的简单聚合。 –

相关问题