2013-08-19 59 views
2

我有一個場景,我在不同的Tomcat實例(不同的機器)上託管不同的java Rest服務。這些在tomcats上運行的項目沒有任何UI。爲了簡單起見,我們假設用戶將直接在瀏覽器(或捲曲)中輸入一些URL來利用這些服務。現在我需要這個服務來和其他tomcat實例中可用的服務通話(調用函數)。
例如,如果TomcatInstance1接收到呼叫,並且所有這些都充當不同服務的「路由器」,我希望它能夠將剩餘呼叫放置在TomcatInstance2上可用的其他「服務」上。這可能嗎?。如果是的話,該如何實現? (試圖搜索類似的問題,沒有找到任何)。有沒有相同的在線參考?託管在不同的tomcat服務器上的其餘服務之間的通信

PS:託管在同一個Tomcat實例中的服務違反了我的要求。

回答

3

這是完全可能的。您可以使用(例如)Jersey客戶端(http://jersey.java.net/)對其他Tomcat實例中的其他RESTful Web服務進行查詢。只需要定義端點的正確URI並根據暴露的API來查詢它們並調用它(就像您是瀏覽器中的客戶端或捲曲一樣)。

看到這裏使用新澤西州的客戶做的一個很好的例子:http://www.mkyong.com/webservices/jax-rs/restful-java-client-with-jersey-client/

+0

我如何管理依賴關係。我使用ANT而不是Maven,因此pom.xml不存在問題。 ANT中是否有任何依賴管理解決方案? – Rakesh

+0

不完全確定,但我認爲您需要的客戶端:https://jersey.java.net/project-info/2.0/jersey/jersey-client/dependencies.html但是您應該考慮使用maven或至少探索一種更「自動化」的方式來做到這一點,它似乎有可能在螞蟻中包含「maven dependencies」(我沒有這方面的經驗),請看這裏:http://maven.apache.org/ant -tasks/index.html的 – emgsilva