2

我有一个场景,我在不同的 Tomcat 实例(不同的机器)上托管不同的 java Rest Services。这些在 tomcat 上运行的项目没有任何 UI。为简单起见,假设用户将直接在浏览器(或 curl)中输入一些 URL 以使用这些服务。现在我需要这个服务能够与另一个 tomcat 实例中可用的服务交谈(调用函数)。
例如。如果 TomcatInstance1 接到呼叫,而这一切只是充当不同服务的“路由器”,我希望它能够为 TomcatInstance2 上的其他“服务”提供 Rest 呼叫。这可能吗?。如果是这样,如何实现?(尝试在 SO 上搜索类似问题,但找不到任何问题)。有没有相同的在线参考?

PS:在同一个 Tomcat 实例中托管服务违反了我的要求。

4

2 回答 2

3

这是完全可能的。您可以使用(例如)Jersey-client ( http://jersey.java.net/ ) 对其他 Tomcat 实例中的其他 RESTful Web 服务进行查询。只需要定义端点的正确 URI 并根据暴露的 API 查询它们并调用它(就像你是浏览器的客户端,或 curl)。

请参阅此处使用 Jersey-client 执行此操作的一个很好的示例:http ://www.mkyong.com/webservices/jax-rs/restful-java-client-with-jersey-client/

于 2013-08-19T13:17:08.920 回答
2

我建议 Spring Restful api ( http://static.springsource.org/spring/docs/3.0.0.M3/reference/html/ch18s02.html , http://www.mkyong.com/spring-mvc/spring -3-rest-hello-world-example/)。

正如@emgsilva 提到的,您唯一需要做的就是在彼此之间指出正确的uris。

spring restful api 的美妙之处在于它使用简单,而且你不需要处理任何序列化——反序列化​​。

于 2013-08-19T14:06:10.150 回答