2017-07-31 87 views
0

此問題更多的是設計/體系結構問題。比方說,我有一個提供基於Spring的Web服務和客戶端應用程序的服務器應用程序。所以目前我在客戶端有幾個Java類,其中服務的端點是硬編碼的(例如http://myserver/some/webservice)。 用web服務正確映射客戶端的好方法是什麼?就在我頭頂:有沒有一個庫可以幫助評估具有參數的URL並使用反射將它們映射到POJO的屬性?在客戶端映射webservice端點的最佳實踐

+0

你在這裏有什麼樣的web服務?肥皂 ? REST?... – bilak

+0

他們是REST webservices – Abenstex

回答

2

當我明白你的問題,2個選項跳進我的腦海:

1)Eureka- Service Discovery for Spring Cloud.

它可以讓你的客戶尤里卡URL和尤里卡將提供客戶端所需的服務幫助您URL。所以如果服務器出現故障,Eureka可以將客戶端指向備份服務器(對客戶端來說是無縫的),甚至可以將不同的URL指向同一臺服務器上的不同服務。

2)Spring Cloud Config

包含URL的一個數據庫中的配置服務,客戶端將拉動從那裏這些網址,並會以一個可配置的URI的呼叫。 Spring允許您更新數據庫中的這些URL,並且它將使用spring cloud config將新的URL向下推送給客戶端,而不會造成任何停機時間......(如果您對負載均衡和其他功能不感興趣,可能更適合您由尤里卡)

+0

感謝您的回覆。這看起來很有希望(在快速瀏覽後)。但是,我不確定這是否真的涵蓋了我所需要的。假設我有一個類似http:// myserver/some/webservice/{id}的web服務。出於某種原因,另一個參數在服務端添加。如果有一些實用程序會從配置文件中讀取地址並將參數映射到POJO字段 – Abenstex

+1

,那麼您可以使用配置文件:「@Value(」$ {config.name}「)'成員以便從配置文件中讀取它。如果您將使用Spring Cloud Config,還可以在類上添加'@ RefreshScope'和'@ Configuration',因此一旦更新了配置服務的值,它們將在客戶端自動更改。 – eladyanai

+0

Spring Cloud Config看起來非常好。謝謝! – Abenstex

相關問題