首页 > 解决方案 > Apache骆驼将URI路由到另一个URI

问题描述

是否可以将所有请求直接路由到另一台服务器?例如,将所有这个项目特定的休息端点 localhost:8080/get-something 路由到另一个项目端点,如下所示: someIp:8081/get-something2 。像这样的东西:

from("localhost:8080/get-something")
.to("someIp:8081/get-something2")

或这个:

rest()
            .path("/get-something")
            .get()
                .route()
.to("someIp:8081/get-something2")

我尝试了太多方法,但我做不到!

标签: javaspring-bootapache-camelrestlethttp4s

解决方案


我认为您想使用 WireTap,只需按照您的描述进行即可。

所以你会做类似的事情

''' from("localhost:8080/get-something") 。窃听(“direct:endpoint1”)//将接收交换。wiretap(“direct:endpoint2”) // 将接收交换 .to(ACTUAL_DESTINATION); // 将收到交换 ... ;

'''</p>

然后

''' from(“direct:endpoint1”) .to(MY_SERVER1);

从(“直接:endpoint2”).to(MY_SERVER2);'''</p>

不过需要注意的是,只有当您通过 onPrepareRef 属性指定自定义处理器时,这些消息才是完全独立的消息(想想抄送)


推荐阅读