我有很多不同的獨立(無狀態)Web服務以Java編寫並編譯爲WAR文件。我想將它們部署到單個Web應用程序服務器。我可以擁有多個具有重疊路徑的Java webapps嗎?
如果每個WAR文件中的服務處理的URI都以前綴作爲Web應用名稱開頭,那麼這很容易。我可以,例如,有
銷售WAR文件:包含以下代碼:
GET http://example.com/sales/widgets
POST http://example.com/sales/widgets
GET http://example.com/sales/sky-hooksMARKETING WAR文件:包含代碼如下:
GET http://example.com/marketing/widgets
PUT http://example.com/marketing/sky-hooks
...在這種情況下,我想簡單地部署以商品名「銷售」和「市場營銷」兩個WAR文件。但是,我不是那麼幸運。相反,組件處理的URI路徑重疊。事情是這樣的:
銷售WAR文件:包含以下代碼:
GET http://example.com/widgets/sales
POST http://example.com/widgets/sales
GET http://example.com/sky-hooks/salesMARKETING WAR文件:包含以下代碼:
GET http://example.com/widgets/marketing
PUT http://example.com/sky-hooks/marketing
我的問題是我怎麼(如果有的話)可以在單個Web應用程序服務器上部署這些。
我很樂意接受需要大量工作的建議。例如,我最好的想法是在常規URI路徑之前構建期望使用組件名稱前綴的服務,然後通過知道每個URI模式落入哪個組件的不同服務器管理所有傳入流量,並將URI修改爲添加該前綴。這種方法的難點在於像Swagger這樣的工具可以讀取我的源代碼,它們對URI的外觀會有一個錯誤的想法。
任何想法?
我假設將它們組合成一個大的戰爭文件是不是因爲某些原因? – DrLivingston
你沒有獎勵賞金的任何特定原因? – nont
nont(和其他人):我真的對此感到抱歉...我意外地被叫走了,然後在一個星期內沒有上網就度假。賞金已經被授予,理所應當。 – mcherm