2013-07-04 61 views
1

我有两个部署在两个独立服务器上的相同的使用骆驼的Web应用程序的实例。 只有实例A会收到某些外部事件通知。我需要以某种方式告知实例B这一点。通过RMI调用远程骆驼

到目前为止,我尝试注册的路线如下:

RmiEndpoint endpoint= (RmiEndpoint) endpoint("rmi://remotehost:1199/foo"); 
endpoint.setRemoteInterfaces(Junki.class); 
from(endpoint).to("bean:bar"); 

像这样另一条路线:

<route> 
    <from uri="direct:rmi"/> 
    <to uri="rmi://remotehost:1199/foo"/> 
</route> 

希望这将允许调用方法上豆酒吧上远程服务器通过向本地发送消息直接:rmi。当我尝试运行这个时,我没有任何例外,但是也没有效果。该网站上的骆驼示例非常可怕,指的是不存在的URI模式,并将所有内容都显示为完全脱离背景,所以我无法从中学到很多东西。然而,他们所做的解释完全如上。

回答

0

Apache Camel发行版的示例中有一个RMI示例。你可以在线查看这个例子的源代码:https://git-wip-us.apache.org/repos/asf?p=camel.git;a=tree;f=examples/camel-example-osgi-rmi;h=c49b9a7727eb4fc8852343f2bef7d2ae71849adb;hb=HEAD

如果你把这个页面称为恐怖 - > camel.apache.org/rmi,那么我修复了2个死链接。

+0

我仍然想念的是:如何将参数传递给rmi函数?假设远程rmi函数'x(String a,double b)'。如何从ie调用该函数。参数名为aa和bb的活动mq消息?我们必须在这里做一些映射吗?即。 aa-> a和bb-> b? – chris

+0

接下来我在http://camel.apache.org/rmi上不明白的东西是xml示例()。这是什么意思?从rmi服务开始的路线?在我的世界中,可以使用这样的服务,而不是'开始一些事情'。 – chris

+0

也有这个例子:https://github.com/apache/camel/tree/master/实例/骆驼示例-OSGi的RMI –